我有兩個包含成員數據的表 - 'members
'和'member_data
'。出於某種原因(我繼承了這個)member_data
表比members
表有更多的記錄。兩個表都有一個member_id
列,它似乎與兩個表之間的用戶信息相匹配。從另一個表中刪除記錄是因爲缺少另一個表中的記錄
如果在'members
'表中找不到匹配的member_id
,我想從'member_data
'表中刪除記錄。有人能指引我朝着正確的方向嗎?
我有兩個包含成員數據的表 - 'members
'和'member_data
'。出於某種原因(我繼承了這個)member_data
表比members
表有更多的記錄。兩個表都有一個member_id
列,它似乎與兩個表之間的用戶信息相匹配。從另一個表中刪除記錄是因爲缺少另一個表中的記錄
如果在'members
'表中找不到匹配的member_id
,我想從'member_data
'表中刪除記錄。有人能指引我朝着正確的方向嗎?
您可以嘗試使用一個NOT IN
聲明:
DELETE FROM `member_data`
WHERE `member_data`.`member_id`
NOT IN (
SELECT `members`.`member_id`
FROM `members`
);
無論如何,你應該糾正插入或刪除不意外行的bug。
delete from member_data where member_id not in (select member_id from members);
該查詢將刪除member_data表中不存在於members表中的所有記錄。
像冠軍一樣工作,謝謝!是的,沒有刪除的錯誤需要死亡。 :) – 86Stang
以這種方式管理數據庫時,您可以使用'NOT IN'語句,但'IN'和'NOT IN'使用大量資源,因此您應該在應用程序中避免使用它們。很高興,如果我能幫助:-) –