首页  >  文章  >  数据库  >  为什么MySQL会抛出错误150:外键引用类型不匹配?

为什么MySQL会抛出错误150:外键引用类型不匹配?

DDD
DDD原创
2024-11-19 18:06:03393浏览

Why Does MySQL Throw Error 150: Foreign Key Reference Type Mismatch?

MySQL 错误 150:外键引用类型不匹配

在尝试创建包含多个表的数据库时,用户遇到错误:“错误代码:1005。无法创建表“336_project.sections”(错误号:150)。”这个错误与外键的使用有关。

仔细检查发现相关列的数据类型不匹配。在本例中,“Sections”表中的“Course_Code”列被定义为 VARCHAR,而“Courses”表中的相应列被定义为 INT。

MySQL 要求外键和主键相关表中的键具有匹配的数据类型。当数据类型不匹配时,即使外键约束的名称和语法显示正确,也会出现此错误。

解决方案:

要解决此错误,确保父子表中相关列的数据类型相同。在此示例中,“Sections”表和“Courses”表中的“Course_Code”列的数据类型应更改为 VARCHAR。

一旦数据类型正确匹配,外键约束将被更改强制执行,建表成功,不会报错。

以上是为什么MySQL会抛出错误150:外键引用类型不匹配?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn