关于mysql:MySQL-创建外键-报错-1452-Cannot-add-or-update-a-child-row-a-foreign

大抵报错内容

1452 – Cannot add or update a child row: a foreign key constraint fails

背景

navicat创立外键时报错
 

对于navicat创立外键具体步骤,参见此文:navicat 数据表增加外键

起因

两张表的数据不匹配(参见下图)
 
 
例子:
myorder表中userId字段是外键,关联user表中的userId字段。
 
myorder表中userId字段的值是0,而user表中没有userId=0的,这样就呈现了数据不匹配的问题。如果ctrl+s保留myorder表就会报错。

 
 
 
 

解决

批改myorder表中字段userId的值即可(与user表匹配)

ctrl+s,不再报错

 
 

参考文章

Mysql谬误1452 – Cannot add or update a child row: a foreign key constraint fails 起因及解决办法

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理