现在我试图在数据库中保留一个用户的100条消息,我试图删除100条中的另一条消息
我的数据库是mysql。我的sql是
DELETE FROM userMessage WHERE id = ? limit 100, 9999;
但我的数据库版本不支持这个sql。
感谢:)
答案 0 :(得分:2)
也许是这样的?
DELETE FROM userMessage WHERE id not in
(SELECT id FROM userMessage uM where user_id = ? ORDER BY id DESC LIMIT 100)
答案 1 :(得分:1)
为什么不在临时表中选择100条记录。然后删除旧表,然后重命名临时表名。
答案 2 :(得分:0)
拥有唯一的id
,您可以使用此查询 -
DELETE t1
FROM
table1 t1
LEFT JOIN (SELECT * FROM table1 ORDER BY id LIMIT 100) t2 -- Specify your LIMIT values here
ON t1.id = t2.id
WHERE
t2.id IS NULL
此查询将删除100之后的所有记录。