我需要删除表中最新ID值之前为60的所有行。
EG:如果user1发布了ID为100的邮件,则将删除ID为40的邮件。
我该怎么做?我需要它来保持我的桌子干净。
感谢您的帮助。
答案 0 :(得分:5)
DELETE a.* FROM YourTable AS a
JOIN (SELECT MAX(id) as MaxID FROM YourTable) AS b
ON a.id <= b.MaxID - 60;
答案 1 :(得分:1)
您的请求不明确,但我尝试做一些示例:
1)简单(删除最后一个id之前的所有对象):
DELETE FROM table_name WHERE ID < lastId;
2)仅限特定用户的ID:
DELETE FROM table_name WHERE ID < lastId and USERID = myUserID;
上一个对象应始终具有次要ID号(如果使用自动增量选项)。
享受您的代码。