mysql 外键 级联删除 级联更新:Cannot delete or update a parent row: a foreign key constraint fails (`db1`.grade

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_42187898/article/details/83782848

报错: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) 以保持表格结构的完整性。

猜你喜欢

转载自blog.csdn.net/weixin_42187898/article/details/83782848