我從MYSQL中的表中刪除選定的行,這兩個表都有外鍵。 刪除d,b從A作爲b內部連接B作爲d在b.bid = d.bid其中b.name像'%xxxx%';
MYSQL抱怨,即使我想從兩個表中刪除外鍵:mysql刪除和外鍵約束
錯誤:無法刪除或更新父行,外鍵約束失敗(yyy/d
,約束fk_d_bid
外鍵(bid
)參考文獻b
(bid
)ON DELETE NO ACTION ON UPDATE NO ACTION)
什麼這裏是最好的解決方案從兩個表中刪除?
我從MYSQL中的表中刪除選定的行,這兩個表都有外鍵。 刪除d,b從A作爲b內部連接B作爲d在b.bid = d.bid其中b.name像'%xxxx%';
MYSQL抱怨,即使我想從兩個表中刪除外鍵:mysql刪除和外鍵約束
錯誤:無法刪除或更新父行,外鍵約束失敗(yyy/d
,約束fk_d_bid
外鍵(bid
)參考文獻b
(bid
)ON DELETE NO ACTION ON UPDATE NO ACTION)
什麼這裏是最好的解決方案從兩個表中刪除?
更改此限制以使用ON DELETE CASCADE
- 這意味着如果刪除了一行,那麼任何「子」行也會自動刪除。
當然要小心使用CASCADE - 只有在必要時才使用它。如果你過分熱心,並且意外地做了一個妥善放置的DELETE,它可能最終會刪除你的數據庫的一半。 :)
我想我看到你想要做什麼
如果你不能改變表結構,那麼你可以使用2條語句,先用子選擇
的B刪除其中出價IN(選擇來自A的出價,其中名稱像'%xxxx%');
從A中刪除名稱如'%xxxx%';
好主意,但我得到了你不能在FROM子句中指定目標表'B'進行更新 – user121196 2010-05-05 03:34:21