#1452 - 无法添加或更新子行:外键约束失败
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#1452 - 无法添加或更新子行:外键约束失败相关的知识,希望对你有一定的参考价值。
注意:在将其标记为Duplicate之前,我想告诉大家我已经在stackoverflow和其他网站中解决了所有这些相关问题,但我没有得到任何合适的解决方案,所以这就是我在这里寻求帮助的原因。
我有两张桌子:员工和罚款
在罚款表fine_id
是PK和employee_id
是FK参考员工表PK employee_id
。
现在,我正在创建fine_id
(表员工中的列)作为罚款表中fine_id
的FK参考。
我通过XAMPP phpMYADMIN添加约束它自动生成我的查询,这是:
ALTER TABLE employees ADD CONSTRAINT fine_fk FOREIGN KEY (fine_id) REFERENCES fines(fine_id) ON DELETE CASCADE ON UPDATE CASCADE;
但是,我在运行这个SQL Query
时遇到了这个错误
1452 - Cannot add or update a child row: a foreign key constraint fails (ems_db
.#sql-dd4_35
, CONSTRAINT fine_fk
FOREIGN KEY (fine_id
) REFERENCES fines
(fine_id
) ON DELETE CASCADE ON UPDATE CASCADE)
这是附图:
员工表
罚款表
错误
谢谢。
不知怎的,我自己设法解决了我的问题,
问题是,在我的员工表中,我有列fine_id
,我想制作一个FK,该列值在员工表中的现有记录中为空,尽管我的罚款表中有值,但雇员表中的列fine_id
没有用相应的fine_id
罚款表填充,所以在创建FK之前我已经用正确的ID罚款表填充了我的列,我的问题就消失了。
以上是关于#1452 - 无法添加或更新子行:外键约束失败的主要内容,如果未能解决你的问题,请参考以下文章
SQLSTATE[23000]:完整性约束违规 1452 无法添加或更新子行:外键约束失败
代码:1452。无法添加或更新子行:外键约束失败(`WW2`
Laravel 迁移 - 违反完整性约束:1452 无法添加或更新子行:外键约束失败