首页 >数据库 >mysql教程 >为什么我会收到 MySQL 错误 150:外键约束问题?

为什么我会收到 MySQL 错误 150:外键约束问题?

Susan Sarandon
Susan Sarandon原创
2024-11-27 17:20:14950浏览

Why Am I Getting MySQL Error 150: Foreign Key Constraint Issues?

MySql 错误 150:外键约束

执行查询创建两个表(一个作为另一个表的引用)时,出现错误消息指示:“错误 1005 (HY000):无法创建表 './test/bar.frm' (errno: 150)."

根据 MySQL 的 FOREIGN KEY Constraints 文档,当外键约束引用的重新创建的表不遵守其定义时,就会出现错误。具体来说,重新创建的表必须:

  • 具有正确的列名称和类型
  • 在引用的键上有索引

在这种情况下,文档表明问题可能是其中一个表“foo”没有创建为 InnoDB 表。这是因为外键约束只能在非 TEMPORARY 的 InnoDB 表之间建立。

文档指出:

Both tables must be InnoDB tables and they must not be TEMPORARY tables. 

因此,要解决该错误,建议确保在尝试在“bar”表中建立外键约束之前,“foo”表被创建为 InnoDB 表。

以上是为什么我会收到 MySQL 错误 150:外键约束问题?的详细内容。更多信息请关注PHP中文网其他相关文章!

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