无法添加或更新子行,外键约束失败

时间:2018-01-08 02:48:30

标签: mysql

1452 - 无法添加或更新子行:外键约束失败(projectphp1707#sql-e6c_cd,CONSTRAINT #sql-e6c_cd_ibfk_1 FOREIGN KEY(order_id)REFERENCES {{1 (tbl_order))

表1:    enter image description here

表2: enter image description here

order_id

1 个答案:

答案 0 :(得分:2)

这种情况有两种:

1-您正在尝试将记录添加到子表,并且您使用了父表中主键中不存在的外键值。

在这种情况下,请仔细检查父表中是否存在该值。也许您正在输入父记录和子记录,但父记录无法添加。在这种情况下,你必须停止而不是忽略错误并继续添加孩子。

2-您的表格不具有ON DELETE CASCADE之类的参照完整性,并且您从父表中删除了一条记录,然后您尝试从具有外语的子表中更新记录键引用父表中的删除记录。

在这种情况下,您可能希望删除子项而不是更新它们。考虑在表中添加引用完整性。