1、问题背景 用Navicat在新建表的外键时,弹出如下窗口 2、问题原因 出现上面的的报错,有如下几个因素: (1)外键对应的字段数据类型不一致 (2)设置外键时“删除时”设置为“SET NULL” (3)两张表的存储引擎不一致 3、处
用Navicat在新建表的外键时,弹出如下窗口
出现上面的的报错,有如下几个因素:
(1)外键对应的字段数据类型不一致
(2)设置外键时“删除时”设置为“SET NULL”
(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
--结束END--
本文标题: mysql新建外键时1215 - Cannot add foreign key constraint错误处理
本文链接: https://lsjlt.com/news/371832.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0