更多>>数据库 Blog

MySQL添加外键时报错:3780 - Referencing column 'class_id' and referenced column 'class_id' in foreign key constraing 'fk_class_id' are incompatible.的原因及解决方法

添加外键错误如下:3780 - Referencing column 'class_id' and referenced column 'class_id' in foreign key constraing 'fk_class_id' are incompatible.

     

在MySQL中给数据表添加外键时,报了如下错误:

3780 - Referencing column 'class_id' and referenced column 'class_id' in foreign key constraing 'fk_class_id' are incompatible.

0425-001.png

这个错误翻译过来意思就是:3780-外键约束“fk_class_id”中的引用列“class_id”和引用列“class_id”不兼容。


查看下主表 my_class 的字段结构如下:

0425-002.png


再查看下子表 my_student 的字段结构如下:

0425-003.png


可以看到主表中 class_id 字段没有勾选无符号。

子表中 class_id 字段则是勾选了无符号。


说明两个表的关联的数据类型不一致。

可能产生不一致的情况,如下:

如一个表的字段类型是 int,另一个表的字段类型是 varchar。

如一个表的字段类型的 int 勾选了无符号,另一个表的字段类型没勾选无符号。

所以把两个表的字段的字段类型、字段长度、有无符号等,改成一致就可以添加外键了。



评论列表

暂时没有相关记录

发表评论

用来接收审核回复提醒,请认真填写

  换一张?
captcha
看不清?点击图片换一张