报错1215 cannot add foreign key

下载软件安装半天终于把数据库准备好了(我的错误解决可以直接从最后开始看,倒数第二张图解决)

创建两张a表看t_student,t_activity在数据库ee1下

报错1215 cannot add foreign key

t_student表设计

报错1215 cannot add foreign key

t_activity表设计

然后就开始设计外键,让t_activity表的joineridid关联t_student表的id

报错了!!!

报错1215 cannot add foreign key

去网上找了一下,说可能是

1.数据不匹配

2.引擎不一致

3.这个设置了set null

第3种可能最先排除,然后点击设计表,“选项”显示的都是默认的引擎InnoDB,这里可以进行更改引擎和字符集,更改了记得点击保存不然白忙活哦~

报错1215 cannot add foreign key

现在只剩下第一种错误的可能性了,数据不匹配!!!

报错1215 cannot add foreign key

睁大了眼睛,用上了手,仔细对比,一样啊,只是一个是主键啊~~~~

就尝试试了一下其他数据设置外键

非主键和非主键关联没毛病,主键和主键关联没问题。。。。。。。

报错1215 cannot add foreign key

就数据库设计而言,肯定不能说主键不能和非主键关联不是,外键主要作用就是保持数据一致性,完整性。毕竟主键唯一,和非主键关联就减少非主键(错误)输入不存在的信息,例如入学信息学号(一般设置学号为主键)和图书馆借书人员(一人借多本书,肯定不能设为主键,但是要保证是学校人员) 。

其他关联都可以,那就肯定是数据类型没对了,网上找也没找出个什么具体解决方案{内心:救救孩子,嗷~}

问题:t_student里id勾选了自动递增和无符号,关联的t_activity里id字段不要求勾选自动递增,但是必须是无符号数

报错1215 cannot add foreign key

勾选好后,记得点击保存哦。创建成功啦!!

报错1215 cannot add foreign key

问题千千万,不会就百度【哭笑】,可能下次错的还是这问题但是不一定是这个原因,但是希望更快排错解决掉哦 *~ _ ~*