乐趣区

关于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 起因及解决办法

退出移动版