Cannot delete or update a parent row: a foreign key constraint fails....


在操作”小弟“這張表時候報錯

想在“小弟”上面加入數據或者更新數據,就要聽老大的,

這句話后面跟着的表就是“老大”,必須老大有數據索引,“小弟“才可以加入或者更新

查看“小弟”表的外鍵,會發現有對“老大”表的外鍵索引。

 

舉例

在要刪除或者滯空warehouse_picked_record中logistic_order_detail中的字段會報錯

 Cannot add or update a child row: a foreign key constraint fails (`susliks`.`warehouse_picked_record`, CONSTRAINT `fk_whip_ref_logistics_detail` FOREIGN KEY (`logisticsorder_detail_id`) REFERENCES `logistics_order_detail` (`order_detail_id`) ON DELETE NO ACT)

 

針對外鍵數據庫默認是NO ACTION,可以顯示列出,CASCADE是級聯操作,即當刪除父行數據時候,相關聯的子行數據也被刪除,更新與刪除功能相同。

現在如果先刪除對應的logistcs_order_detail中的數據,就會發現,對應的warehouse_picked_record也會被自動刪除

如果變成no action則要手動刪除warehouse_picked_record ,不受logistics_order_detail約束


免責聲明!

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



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