根据特定条件运行SQL查询并仅删除x行?

时间:2013-08-25 21:35:05

标签: php mysql

我知道可以运行查询,如果提交单行符合某个条件(例如delete from table where id=$id),则可以删除该行。我所拥有的是一种情况,当我按下表单上的提交时,我希望有一定数量的行符合基于另一个值取出的标准。

比如说$millevel = 100;我希望能够在cities表中搜索行WHERE nation ='$ nation',然后删除$millevel

中定义的行数。

这是可能的,如果可以的话,是否可以随机进行,以便它不会按顺序删除,而是跳转?

1 个答案:

答案 0 :(得分:1)

您可以使用LIMIT关键字限制要删除的条目数:

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

你可以添加一个ORDER BY RAND()来做一些随机的事情,但要注意性能(如果你有一张大桌子会很慢)

请参阅official documentation