我试图从表中删除行,但我得到一个错误。
DELETE FROM `chat_messages` ORDER BY `timestamp` DESC LIMIT 20, 50;
我在50得到这个错误:
您的SQL语法错误; 检查对应于你的MySQL服务器版本使用附近的“50”在1号线正确的语法手册
不知道什么是错的。
我试图从表中删除行,但我得到一个错误。
DELETE FROM `chat_messages` ORDER BY `timestamp` DESC LIMIT 20, 50;
我在50得到这个错误:
您的SQL语法错误; 检查对应于你的MySQL服务器版本使用附近的“50”在1号线正确的语法手册
不知道什么是错的。
你不能在指定偏移DELETE
的LIMIT
子句。
所以,要做到这一点的唯一方法是查询重写是这样的:
DELETE FROM `chat_messages` WHERE id IN (select id from (select id
FROM `chat_messages`
ORDER BY `timestamp` DESC
LIMIT 20, 50) x)
假设你有主键id
列
UPD:您需要实现双重嵌套愚弄的MySQL,因为它不允许从目前修改表中选择(感谢马丁·史密斯)