2012-06-06 16 views
0

使用子查詢我想下面DELETE在MySQL

SELECT * `members` m 
WHERE NOT EXISTS 
    (SELECT s.mid 
    FROM memberships s 
    WHERE s.mid = m.id); 

轉換爲相當於delete語句。但是,下面的代碼無法正常工作:

DELETE FROM `members` m 
WHERE NOT EXISTS 
    (SELECT s.mid 
    FROM memberships s 
    WHERE s.mid = m.id); 

回答

2

您可以使用多臺DELETE語法執行外連接的表之間的連接:

DELETE FROM members 
USING members LEFT JOIN memberships ON memberships.mid = members.id 
WHERE memberships.mid IS NULL