大抵报错内容

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