PHPMyAdmin在外键设置上抛出错误

时间:2014-10-21 16:55:24

标签: php mysql sql phpmyadmin localhost

我有两张表格如下

1: 表名:parent 列:parent_id(主键),标题

2: 表名:孩子 列:child_id(主键),标题,fk_pid(索引)

我想在prent.parent_idchild.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`)) 

请帮帮我

1 个答案:

答案 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;