MySQL删除特定行数

标签 mysql sql-delete

我很难找到删除表中特定行数的查询。我的目标是将表中的行数保持为特定数字。例如,我不想超过 100 万行。有没有办法在 insert 上添加一个触发器,查看行数,然后删除超过 100 万行的行数?有人可以指出我正确的方向吗?

我试过:

delete from `table` where `id` not in
(select `id` from `table` order by `id` desc limit 20)

但是,我得到错误代码 1235,这个版本的 mysql 还不支持 'limit & in/all/any/some subquery'。

非常感谢任何帮助。

最佳答案

像批量那样做怎么样

DELETE FROM table WHERE id BETWEEN 1 AND 100

然后在上面添加一个 for 循环。

关于MySQL删除特定行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43905026/

相关文章:

mysql - 给定特定日期,如何在mysql中获取上个月的第一天与同一工作日

mysql - 随机删除未知数量的记录

hibernate - SQLDelete 注释中忽略物理命名策略

MySQL数据库速度问题

php - 我应该使用 mysql_real_escape_string 转义预期的整数值还是可以只使用 (int)$expectedinteger

java - 必须设置 GAE 系统属性 rdbms.driver

mysql - 删除select查询选择的记录

java - 如何检查 Java Spring 数据库查询成功/失败?

mysql - 更新另一个表后从一个表中删除会导致mysql出错

mysql - 带权重参数的空间数据库索引