我需要從表中刪除最近ID值前60的所有行。MySQL - 在特定ID值後刪除行。
EG:如果user1發佈獲得ID爲100的消息,那麼將刪除ID爲40的消息。
我該怎麼做?我需要它來保持我的桌子乾淨。
感謝您的幫助。
我需要從表中刪除最近ID值前60的所有行。MySQL - 在特定ID值後刪除行。
EG:如果user1發佈獲得ID爲100的消息,那麼將刪除ID爲40的消息。
我該怎麼做?我需要它來保持我的桌子乾淨。
感謝您的幫助。
DELETE a.* FROM YourTable AS a
JOIN (SELECT MAX(id) as MaxID FROM YourTable) AS b
ON a.id <= b.MaxID - 60;
如果表名是chat_chats,我會用chat_chats替換YourTable嗎? ID是正確的。 – user3474238
當然。這只是一個佔位符,你把任何實際的表名稱。 – Barmar
您的要求是不正確清楚,但我試着做一些例子:簡單
1)(刪除最後一個ID之前的所有對象):
DELETE FROM table_name WHERE ID < lastId;
2)只有ID一個特定用戶:
DELETE FROM table_name WHERE ID < lastId and USERID = myUserID;
上一個對象應該始終具有較小的ID號(如果您使用自動增量選項) 。
享受您的代碼。
能給我們一個明確的例子嗎? – user3517652