1. 程式人生 > >mysql 外來鍵 級聯刪除 級聯更新:Cannot delete or update a parent row: a foreign key constraint fails (`db1`.grade

mysql 外來鍵 級聯刪除 級聯更新:Cannot delete or update a parent row: a foreign key constraint fails (`db1`.grade

報錯:Cannot delete or update a parent row: a foreign key constraint fails。
原因:表關聯生成的強制約束問題,在刪除的時候回檢查表之間的關聯關係,從而導致無法刪除,更新
解決辦法

SET foreign_key_checks = 0;  // 先設定外來鍵約束檢查關閉 
//進行刪除或者更新操作
update student set StudentNumber=6 where StudentNumber=3; //級聯更新
delete from student where StudentNumber = 2;//級聯刪除
SET foreign_key_checks = 1; // 開啟外來鍵約束檢查,以保持表結構完整性

檢視foreign_key_checks的值

show VARIABLES like "foreign%";

在這裡插入圖片描述
注意:在刪除完表之後,最好是重新開啟檢查(SET foreign_key_checks = 1) 以保持表格結構的完整性。