0

我有两个包含成员数据的表 - ' members' 和 ' member_data'。由于某种原因(我继承了这个),该member_data表的记录多于该members表。两个表都有一个member_id似乎与两个表之间的用户信息匹配的列。

member_data如果在 ' ' 表中找不到匹配项,我想从 ' ' 表member_id中删除记录members。有人可以指出我正确的方向吗?

4

2 回答 2

1

您可以尝试使用NOT IN语句:

DELETE FROM `member_data`
WHERE `member_data`.`member_id`
NOT IN (
   SELECT `members`.`member_id`
   FROM `members`
);

无论如何,您应该更正插入或不删除意外行的错误。

于 2012-11-29T21:59:27.593 回答
0
delete from member_data where member_id not in (select member_id from members);

此查询将从 member_data 表中删除成员表中不存在的所有记录。

于 2012-11-29T22:00:19.663 回答