1.报错1452,如图示:

解决: 这个是在建立外键进行表关联时,关联表存在不对应的数据导致的,即chat_participant中的存在session_id不在chat_session表中,存在两者对应不上的键值,可以通过删除chat_participant中session_id值不在chat_session中的记录,或者直接 清空关联表进行解决;
2.报错1215: Cannot add foreign key constraint
这个是两个进行关联的表的关联字段存在不同导致的,差异一般是关联字段在两张表中类型不一样,字段长度不一样,字符编码不一致等,解决办法就是对比两张表的关联字段,将不一致的地方修改成一致;
3.为两张表建立关联,关键键(外键)必须是其中一张表的主键吗?
说明: 不是,只要关联键在其中一张表(主表,关联都是一对一,一对多,这个主表值的就是这个一)中是唯一索引就可以;所以处理方案就是建立唯一索引
navcat 为表建立唯一索引

这篇博客详细介绍了在MySQL中遇到的一些常见错误及解决方案,包括错误1452和1215的外键约束问题,创建外键时不一定要是主键,只需要在关联表中有唯一索引。此外,当表间有外键关联时,清理数据需先关闭外键约束,报错1100可通过LOCK TABLES解决,而错误767涉及到字符集和索引长度限制,可以通过调整字段长度或字符集解决。
最低0.47元/天 解锁文章
3万+

被折叠的 条评论
为什么被折叠?



