mysql中外键添加失败怎么回事-创新互联

小编给大家分享一下mysql中外键添加失败怎么回事,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

创新互联专注于阿尔山网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供阿尔山营销型网站建设,阿尔山网站制作、阿尔山网页设计、阿尔山网站官网定制、重庆小程序开发公司服务,打造阿尔山网络公司原创品牌,更为您提供阿尔山网站排名全网营销落地服务。

原因分析:

1、两个字段的类型或者大小不严格匹配

例如,如果一个是int(10),那么外键也必须设置成int(10),而不是int(11),也不能是tinyint。另外,你还必须确定两个字段是否一个为 signed,而另一个又是unsigned(即:无符号),这两字段必须严格地一致匹配。

2、试图设置外键的字段没有建立起索引,或者不是一个primary key(主键)。

如果其中一个不是primary key的话,你必须先为它创建一个索引。

3、其中一个或者两个表是MyISAM引擎的表。

若想要使用外键约束,表必须是InnoDB引擎(实际上,如果两个表都是MyISAM 引擎的,这个错误根本不会发生,但也不会产生外键,只会建立索引)你需要检查表的引擎类型。

4、外键的名字不能重复。

你应该检查你的数据库以确保外健名字是唯一的,或者你在键名后面加上几个随机的字符以测试是否是这个原因。

5、你可能设置了ON DELETE SET NULL,但是相关的键的字段又设置成了NOTS NULL值。

你可能通过修改cascade的属性值或者把字段属性设置成allow null来解决。

6、请确定你的Charset和Collate选项在表级和字段级上的一致。

7、你可能设置为外键设置了一个默认值,如default=0。

8、ALTER声明中有语法错误。

以上是mysql中外键添加失败怎么回事的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联-成都网站建设公司行业资讯频道!


新闻标题:mysql中外键添加失败怎么回事-创新互联
转载来源:http://bzwzjz.com/article/dsdgoh.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都定制网站建设 网站建设公司 成都网站设计 营销网站建设 成都定制网站建设 成都网站建设 响应式网站设计 成都定制网站建设 做网站设计 成都网站制作 外贸营销网站建设 营销型网站建设 高端定制网站设计 成都商城网站制作 企业网站设计 四川成都网站建设 H5网站制作 网站制作 成都网站建设公司 网站设计制作 高端网站设计 app网站建设