错误 (1451, 'Cannot delete or update a parent row: a foreign key constraint fails...)
由于外键关联保护,当前数据被其他表关联使用时,执行删除操作外键检查会拒绝你删除
最好的解决问题办法是删除关联数据,或者解除当前数据关联.
抑或是通过优化表结构来避免类似问题.
但是如果有有需要删除这部分数据时可以在数据库设置关闭外键保护检查
# 关闭外键检查,然后就可以执行删除操作了
mysql> set foreign_key_checks=0;
# 删除完毕之后再打开外键检查
mysql> set foreign_key_checks=1;
查看当前保护状态,ON是打开, OFF是关闭
mysql> show variables like "foreign%";
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| foreign_key_checks | ON |
+--------------------+-------+
1 row in set (0.03 sec)
解决MySQL外键删除错误
本文详细解释了在MySQL中遇到外键约束错误(1451)的原因及解决方案。当尝试删除被其他表引用的记录时,数据库将阻止操作。文章提供了关闭外键检查的方法,以便执行删除操作,同时提醒在操作完成后重新开启检查。
450





