我有一个mysql表,我需要在添加其他记录之前只包含20条最新记录.每天都会添加新行,因此我希望首先删除任何大于最早允许的记录.
该表包含一个自动增量"id"列,因此我可以轻松确定哪个是最早的记录.
谢谢你的帮助.
您可以LIMIT在查询中使用关键字指定偏移量,以保留最新的20行.然而,根据MySQL的文档,没有简单的方法可以将偏移限制为最后一个; 相反,他们建议:
要从特定偏移量检索所有行直到结果集的末尾,可以使用一些大数字作为第二个参数.
所以这个SQL应该可以解决这个问题:
DELETE FROM table ORDER BY id DESC LIMIT 20, 18446744073709551615;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11073 次 |
| 最近记录: |