#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)

这是附图:

员工表

enter image description here

罚款表

enter image description here

错误

enter image description here

谢谢。

答案

不知怎的,我自己设法解决了我的问题,

问题是,在我的员工表中,我有列fine_id,我想制作一个FK,该列值在员工表中的现有记录中为空,尽管我的罚款表中有值,但雇员表中的列fine_id没有用相应的fine_id罚款表填充,所以在创建FK之前我已经用正确的ID罚款表填充了我的列,我的问题就消失了。

以上是关于#1452 - 无法添加或更新子行:外键约束失败的主要内容,如果未能解决你的问题,请参考以下文章

SQLSTATE[23000]:完整性约束违规 1452 无法添加或更新子行:外键约束失败

完整性约束违规:1452 无法添加或更新子行:外键约束失败

代码:1452。无法添加或更新子行:外键约束失败(`WW2`

Laravel 迁移 - 违反完整性约束:1452 无法添加或更新子行:外键约束失败

SQLSTATE [23000]:完整性约束违规:1452 无法添加或更新子行:外键约束失败

完整性约束违规:1452 无法添加或更新子行:外键约束失败(Laravel 应用程序)