现在我试图在数据库中保留一个用户的 100 条消息,并试图从 100 条消息中删除另一条消息
我的数据库是mysql。我的 sql 是
DELETE FROM userMessage WHERE id = ? limit 100, 9999;
但是我的数据库版本不支持这个sql。
谢谢:)
现在我试图在数据库中保留一个用户的 100 条消息,并试图从 100 条消息中删除另一条消息
我的数据库是mysql。我的 sql 是
DELETE FROM userMessage WHERE id = ? limit 100, 9999;
但是我的数据库版本不支持这个sql。
谢谢:)
也许是这样的?
DELETE FROM userMessage WHERE id not in
(SELECT id FROM userMessage uM where user_id = ? ORDER BY id DESC LIMIT 100)
为什么不选择 100 条记录到临时表中。然后删除旧表,然后重命名临时表名。
具有独特性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 之后的所有记录。