0

现在我试图在数据库中保留一个用户的 100 条消息,并试图从 100 条消息中删除另一条消息

我的数据库是mysql。我的 sql 是

DELETE FROM userMessage WHERE id = ? limit 100, 9999;

但是我的数据库版本不支持这个sql。

谢谢:)

4

3 回答 3

2

也许是这样的?

DELETE FROM userMessage WHERE id not in
(SELECT id FROM userMessage uM where user_id = ? ORDER BY id DESC LIMIT 100)
于 2012-07-27T07:29:47.300 回答
1

为什么不选择 100 条记录到临时表中。然后删除旧表,然后重命名临时表名。

于 2012-07-27T07:23:48.053 回答
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 之后的所有记录。

于 2012-07-27T07:30:44.977 回答