0

members' ' と ' ' のメンバー データを含む 2 つのテーブルがありますmember_data。何らかの理由で (これを継承しました)、member_dataテーブルにはテーブルよりも多くのレコードがありmembersます。両方のテーブルにはmember_id、2 つのテーブル間のユーザー情報と一致しているように見える列があります。

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);

このクエリは、membersテーブルに存在しないmember_dataテーブルからすべてのレコードを削除します。

于 2012-11-29T22:00:19.663 に答える