【发布时间】:2022-01-12 16:04:57
【问题描述】:
我有一张表,其中 id 不断增加。 Id 并不总是增加相同的值,并且由于 api 而不是 auto_increment,但它会永久增加。示例:
| Id | other content |
|---|---|
| 501 | xxx |
| 500 | yyy |
| 365 | qqq |
| ... | ... |
现在我只想保留最后 X 行,删除 ID 较低的行。我能够为自己找到一个类似但不是可行的解决方案来解决这个问题。
我认为这样的事情会起作用,但是有一个错误:
DELETE FROM `games` WHERE `matchId` NOT IN(SELECT `matchId` FROM `games` ORDER BY `matchId` DESC LIMIT X)
#1235 - 这个版本的 MySQL 还不支持 'LIMIT & IN/ALL/ANY/SOME 子查询'
我在 phpmyadmin 5.1.1 Web 界面上运行 mysql 版本 8.0.27。
有没有办法在不触发此错误的情况下保留最新的 x 行?
【问题讨论】:
标签: mysql sql phpmyadmin