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

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

Susan Sarandon
发布: 2024-11-27 17:20:14
原创
1034 人浏览过

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板