PHPMyAdmin 在外键设置上抛出错误

Posted

技术标签:

【中文标题】PHPMyAdmin 在外键设置上抛出错误【英文标题】:PHPMyAdmin is throwing error on foreign key setup 【发布时间】:2014-12-16 23:57:25 【问题描述】:

我有两张如下表

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

2: 表名:孩子 列 : child_id(Primary Key) , title , fk_pid(Indexed)

我想在 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】:

如果子表中的 fk_pid 在父表中不作为 id 存在,则 mysql 不会创建外键。检查子表是否存在对父表中不存在的父 ID 的任何引用。

select fk_pid from child left join parent on child.fk_pid = parent.id where parent.id is null;

【讨论】:

以上是关于PHPMyAdmin 在外键设置上抛出错误的主要内容,如果未能解决你的问题,请参考以下文章

Google App Engine 在基本缩放上抛出错误

启用永久链接后,Wordpress 在 wamp apache 上抛出 403 禁止错误?

@babel/eslint-parser 在 vue 文件上抛出错误

Flutter web 在同一个项目但不同的笔记本电脑上抛出错误

如果项目哈希键已存在,如何让DynamoDbContext在Save上抛出异常

在 Ubuntu 14.04 上安装 Qt 5.5.1 - 在终端上抛出 qt.network.ssl 错误