MySQL - 在特定ID值之后删除行。

时间:2014-04-21 07:31:53

标签: php mysql sql

我需要删除表中最新ID值之前为60的所有行。

EG:如果user1发布了ID为100的邮件,则将删除ID为40的邮件。

我该怎么做?我需要它来保持我的桌子干净。

感谢您的帮助。

2 个答案:

答案 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号(如果使用自动增量选项)。

享受您的代码。