我有两张桌子:
表groupMessage
用于记录组用户消息
表groupMessageNum
用于消息数超过 300 的记录。
-------------------
| groupMessage |
|-----------------|
| id |
| hostId |
| roomId |
===================
---------------------
| groupMessageNum |
|-------------------|
| id |
| hostId |
| roomId |
=====================
我正在尝试删除其中的记录groupMessage
并groupMessageNum
删除groupMessageNum
.
如果groupMessage
要删除的记录超过300条,我会删除第300条之后的记录。
我的 sql 是:
delete group, groupNum from groupMessage group, groupMessageNum
groupNum where group.hostId = groupNum.hostId and group.roomId =
groupNum.roomId;
这将删除 groupMessage 中的所有记录。
那么,我怎样才能只删除第 300 条之后的记录呢?
例子:
有 100 个用户,60 个用户有 300 多条消息。所有用户消息都在 groupMessage 表中。groupMessageNum 中有 60 个用户的 id,因为他们的消息超过 300 条。
现在我正在尝试删除第 300 条消息之后的用户消息。所以我首先在 groupMessageNum 表中找到用户 ID,然后在 groupMessage 表中删除这些消息。