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

标签 php mysql

我知道可以运行一个查询,如果提交的单行符合特定条件(例如从 id=$id 的表中删除),则可以将其删除。我遇到的情况是,当我在表单上按“提交”时,我希望有一定数量的行与基于另一个值的条件相匹配。

例如 $millevel = 100; 我希望能够在城市表中搜索 WHERE nation='$nation' 的行,然后删除 中定义的行数>$millevel

这可能吗?如果可以,是否可以随机执行,这样它就不会按顺序删除,而是跳转?

最佳答案

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

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

您可以添加 ORDER BY RAND() 来随机执行某些操作,但要注意性能(如果表很大,速度会很慢)

请参阅official documentation

关于php - 根据特定条件运行 SQL 查询并仅删除 x 行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18433969/

相关文章:

php - 批处理未插入到表中

php - 避免 fatal error 内存在它发生之前耗尽

php - 将参数从 Ajax 传递到 PHP 文件

java - 在eclipse java ee中连接MySQL

php - 我无法使用 PHP 更新来更新文本区域

Highcharts 热图的 PHP 绘图系列

mysql - SQL 从预订表中即时生成空闲插槽?

c# - 哪个 C# 连接器支持嵌入式 MySql?

mysql - MySQL WEEK() 的什么模式符合 ISO 8601

mysql - 使用 JPA 在 mySql 中保存字符串数组