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

这可能是MySQL在InnoDB中设置了foreign key关联,造成无法更新或删除数据。可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况。

SET FOREIGN_KEY_CHECKS = 0;
删除完成后设置
SET FOREIGN_KEY_CHECKS = 1;

但是对于更新字段等操作,必须也将子表的字段同步更新
想要删除父表的数据,需要先禁用外键约束检查:
SET FOREIGN_KEY_CHECKS = 0;
再执行更新语句即可

update dba.dept set deptno=1110 where deptno=10;

为了确保子表和父表数值一致,也要更新子表相应字段值:

update dba.employee2 set deptno=1110 where deptno=10;

猜你喜欢

转载自blog.csdn.net/uzizi/article/details/81156072