MySQL数据库增加外键发生错误解决方案合集

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

今天对已存在的两个表中的一个表添加另一个表的主键为外键,遇到以下错误:

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

原因:

设置的外键和对应的另一个表的主键值不匹配。

解决方法:

找出不匹配的值备份并删除,后期再加入该表中。

1215 Cannot add the foreign key constraint

原因:
1.两张关联的表外键字段类型不一致,长度不一致,字符集和排序规则不一致
2.存储引擎不一致

使用navicat工具
排查原因1:
1.选中要关联外键的表和关联表,右键设计表,比对荧光色的处,要保持一致
在这里插入图片描述
排查原因2:
2.选中要关联外键的表和关联表,右键设计表,选项标签页,比对荧光色的处,要保持一致

在这里插入图片描述

具体参考,比较有用mysql创建外键报错的原因以及处理(can’t not create table) - 何小杰的博客 - CSDN博客

猜你喜欢

转载自blog.csdn.net/ruoxiyun/article/details/88599260