尝试插入外键时出现错误 #1452
Posted
技术标签:
【中文标题】尝试插入外键时出现错误 #1452【英文标题】:Error #1452 when trying to insert foreign key 【发布时间】:2014-11-21 14:36:12 【问题描述】:我正在尝试在我的表 A 中插入一个外键(在 phpmyadmin 中):
更改表 A 添加外键(id_B) 参考 B(id_B);
但我得到了错误:
1452 - 无法添加或更新子行:外键约束失败 (database
., CONSTRAINT #sql-edf_534aa1_ibfk_1
FOREIGN KEY (id_B
) REFERENCES @ 987654324@(id_B
))
#sql-edf_534aa1_ibfk_1
FOREIGN KEY (id_B
) REFERENCES @ 987654324@(id_B
))表 A 以 id_A 作为主键,表 B 以 id_B 作为主键。两个表都有innoDB作为存储引擎,表A中的id_B列和表B中的id_B列具有相同的类型。
出了什么问题,我该如何解决?
【问题讨论】:
这两个表中是否已有数据?如果是这样,添加约束将检查它是否真的成立。检查表 A 中的所有 id_b 值是否存在于表 B 中 【参考方案1】:表 A 可能链接到无效的 id_B:
表 A 中存在一个 id_B,而表 B 中的 id_b 列中不存在。
【讨论】:
没错。表 A 的 id_B 列中有一个值,而表 B 的 id_B 列中不存在这个值。谢谢!以上是关于尝试插入外键时出现错误 #1452的主要内容,如果未能解决你的问题,请参考以下文章