大抵报错内容
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 起因及解决办法