我有一个表,其中包含带有时间戳的用户事务。我现在想根据时间戳保留最后 30 个条目,并删除所有其余条目。
最佳答案
这种方式与DELETE和SELECT子查询怎么样?
DELETE FROM `table` WHERE id NOT IN (SELECT id FROM (
SELECT id FROM `table` ORDER BY timestamp DESC LIMIT 30) sort_timestamp
);
中间子查询将帮助您跳过错误
Error: ER_NOT_SUPPORTED_YET: This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
关于mysql - 保留最后 30 个值并删除其余的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56549552/