您不能在
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,因为它不允许从当前修改的表中进行选择(感谢Martin Smith)

您不能在
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,因为它不允许从当前修改的表中进行选择(感谢Martin Smith)