mysql新建外键时1215 - Cannot add foreign key constraint错误处理
短信预约 -IT技能 免费直播动态提醒
1、问题背景
用Navicat在新建表的外键时,弹出如下窗口
2、问题原因
出现上面的的报错,有如下几个因素:
(1)外键对应的字段数据类型不一致
(2)设置外键时“删除时”设置为“SET NULL”
(3)两张表的存储引擎不一致
3、处理方案
检查两张关联表对应的字段数据类型是否一致
查询存储引擎是否相同
show table status from db_name where name= 'table_name'
3、设置外键时“删除时”设置为“SET NULL”
附:
CASCADE:父表delete、update的时候,子表会delete、update掉关联记录;SET NULL:父表delete、update的时候,子表会将关联记录的外键字段所在列设为null,所以注意在设计子表时外键不能设为not null;RESTRICT:如果想要删除父表的记录时,而在子表中有关联该父表的记录,则不允许删除父表中的记录;NO ACTION:同 RESTRICT,也是首先先检查外键;
来源地址:https://blog.csdn.net/hsuehgw/article/details/129105563
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341