MySql 外键错误 150: A Puzzling Enigma
当尝试创建具有外键关系的“foo”和“bar”表时,您会遇到与错误 150 有关的错误 1005 (HY000)。此错误可能会令人沮丧,让您感到困惑根本原因。
根据有关 FOREIGN KEY Constraints 的 MySQL 文档,重新创建具有外键引用的已删除表时会出现问题。该表必须通过具有匹配的列名称和类型以及引用键上的索引来符合外键约束。如果不满足这些条件,MySQL 将返回错误 1005,并带有基础错误 150。
您的错误很可能是由于“foo”表未定义为 InnoDB 表所致。 MySQL文档明确指出这两个表必须是InnoDB表并且是非临时表。
通过修改“foo”表创建查询来指定InnoDB引擎:
mysql> CREATE TABLE foo(id INT PRIMARY KEY) ENGINE=InnoDB;
您应该能够使用外键约束成功创建“bar”表,解决错误 150.
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3