2013-08-25 45 views
0

我知道可以運行一個查詢,如果它符合某個標準(例如delete from table where id=$id),可以刪除提交單行的查詢。我所擁有的是一種場景,當我按表單上的提交時,我希望有一定數量的行匹配基於另一個值取出的條件。根據特定條件運行SQL查詢並只刪除x行?

說,例如$millevel = 100;我希望能夠搜索城市錶行,其中國家=「$民族」,然後刪除怎麼過許多行時,在$millevel

定義這是可能的,如果是這樣,是否有可能隨機完成,以便它不會按順序刪除,而是跳轉?

回答

1

您可以限制刪除與LIMIT關鍵詞的條目數:

$sql = 'DELETE FROM my_table WHERE id='.intval($id).' LIMIT '.intval($maxentries); 

您可以添加ORDER BY RAND()做一些隨機的,但要注意有關性能(將是緩慢的,如果你有一個大表)

official documentation

+0

好了,所以我可以做些沿的$行刪除= 'DELETE FROM城市,國家=' $民族。 LIMIT'.intval($ millevel); – Greene345

+0

呃?我不明白你在說什麼:)這個迴應是否滿足你或我需要更深入?如果沒關係,請將其標記爲已接受;) –

+0

我在澄清,只要$ millevel是數字,LIMIT'.intval($ millevel)就可以工作 – Greene345