我有两个包含成员数据的表 - “members
”和“member_data
”。出于某种原因(我继承了这一点),member_data
表的记录多于members
表。两个表都有一个member_id
列,似乎与两个表之间的用户信息相匹配。
如果在“member_data
”表格中找不到匹配的member_id
,我想从“members
”表中删除记录。有人能指出我正确的方向吗?
答案 0 :(得分:1)
您可以尝试使用NOT IN
声明:
DELETE FROM `member_data`
WHERE `member_data`.`member_id`
NOT IN (
SELECT `members`.`member_id`
FROM `members`
);
无论如何,您应该更正插入或不删除意外行的错误。
答案 1 :(得分:0)
delete from member_data where member_id not in (select member_id from members);
此查询将删除member_data表中不存在于members表中的所有记录。