我有這些表,我試圖運行多刪除查詢刪除修復記錄時,將刪除所有的產品和任務。 注意,鏈接表具有ON DELETE CASCADE
約束。的MySQL從多個表中刪除一個查詢
現在我遇到的問題是,當我運行此查詢時,它僅刪除repair
,taskRepair
(1個任務記錄,但它總共有3個)以及與已刪除任務關聯的產品。
DELETE bp, t, r
FROM repair AS r
LEFT JOIN taskRepair AS tr ON r.repairID = tr.repairID
INNER JOIN task AS t ON t.taskID = tr.taskID
LEFT JOIN boughtProductTask AS bpt ON bpt.taskID = t.taskID
INNER JOIN boughtProduct AS bp ON bp.boughtProductID = bpt.boughtProductID
WHERE r.repairID = ?
我做了修改這一個SELECT
查詢變化DELETE bp, t, r
到SELECT *
並沒有返回的所有記錄。所以我的問題是這個查詢有什麼問題?
我猜測,最後的'內join'應'留下join',因爲它變成早期外連接到內連接。 –
@GordonLinoff與{INNER JOIN}相同的結果 – Joseph118