我有两张表格如下
1: 表名:parent 列:parent_id(主键),标题
2: 表名:孩子 列:child_id(主键),标题,fk_pid(索引)
我想在prent.parent_id
和child.fk_pid
之间进行参考。我已将两个表的类型设置为InnoDB。我在子表的结构中打开了'关系视图'。然后我为child.fk_pid
选择了外键约束并设置为parent.parent_id
并将选项设置如下
约束名称:myFK 关于删除:限制 在更新:限制
但是当我点击“保存”按钮时,PHPMyAdmin会抛出以下错误。
#1452 - Cannot add or update a child row: a foreign key constraint fails (`fk`.`#sql-168_5f`, CONSTRAINT `myFk` FOREIGN KEY (`fk_pid`) REFERENCES `parent` (`parent_id`))
请帮帮我
答案 0 :(得分:1)
如果子表中的fk_pid在父表中不作为id存在,MySQL将不会创建外键。检查子表是否有对父表中不存在的父标识的引用。
select fk_pid from child left join parent on child.fk_pid = parent.id where parent.id is null;