兩張表關聯删除:
DELETE a,b FROM table1 a
INNER JOIN table2 b
ON a.id = b.aid
WHERE a.id = '1'
//或者也可以
DELETE a,b FROM table1 a,table2 b
WHERE a.id = b.aid
AND a.id = '1'
三張表删除
DELETE a,b,c FROM table1 a
INNER JOIN table2 b
ON a.id = b.aid
INNER JOIN table3 c
ON a.id = c.aid
WHERE a.id = '1'
不過這樣有一個問題,就是如果a表裡資料,而b表或者c表裡沒資料,那麼整個删除就失敗,即删除0條資料
如果你的主表一定有資料,而關聯的表有可能有資料也有可能沒資料的話,我們可以通過左連接配接删除的方式,把兩張表都删除。無論關聯的表有沒有資料,主表都可以删除成功
DELETE a.* ,b.* ,c.*
FROM table1 a
LEFT JOIN table2 b
ON a.id = b.aid
LEFT JOIN table3 c
ON a.id = c.aid
WHERE a.id =