mysql刪除有外鏈索引數據,Cannot delete or update a parent row: a foreign key constraint fails 問題的解決辦法


mysql刪除有外鏈索引數據
Cannot delete or update a parent row: a foreign key constraint fails 問題的解決辦法
查詢:DELETE FROM `goods` WHERE `goods_id` = '11'
錯誤代碼: 1451
Cannot delete or update a parent row: a foreign key constraint fails (`webDB`.`goods_properties_detail`, CONSTRAINT `FK_rip_43` FOREIGN KEY (`goods_id`) REFERENCES `goods` (`goods_id`))
以上是因為,該條記錄的某個字段作為innodb的另外一個表的外鏈。而在刪除操作時會自動檢查外鏈。
解決辦法一:先判斷刪除關聯數據,然后再刪除(這樣比較符合業務邏輯比較安全)。

解決辦法二:不檢查外鏈,設置FOREIGN_KEY_CHECKS變量:
SET FOREIGN_KEY_CHECKS = 0;
DELETE FROM `goods` WHERE `goods_id` = '11'
刪除完成后設置
SET FOREIGN_KEY_CHECKS = 1;

ps:關閉唯一性校驗
set unique_checks=0;
set unique_checks=1;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM