MySQL 错误 150:外键引用类型不匹配
在尝试创建包含多个表的数据库时,用户遇到错误:“错误代码:1005。无法创建表“336_project.sections”(错误号:150)。”这个错误与外键的使用有关。
仔细检查发现相关列的数据类型不匹配。在本例中,“Sections”表中的“Course_Code”列被定义为 VARCHAR,而“Courses”表中的相应列被定义为 INT。
MySQL 要求外键和主键相关表中的键具有匹配的数据类型。当数据类型不匹配时,即使外键约束的名称和语法显示正确,也会出现此错误。
解决方案:
要解决此错误,确保父子表中相关列的数据类型相同。在此示例中,“Sections”表和“Courses”表中的“Course_Code”列的数据类型应更改为 VARCHAR。
一旦数据类型正确匹配,外键约束将被更改强制执行,建表成功,不会报错。
以上是为什么MySQL会抛出错误150:外键引用类型不匹配?的详细内容。更多信息请关注PHP中文网其他相关文章!