大致报错内容
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 原因及解决方法