尝试在 MySQL 中创建外键约束时,可能会遇到问题。其中一个错误是错误 150,当外键定义与引用的表之间不匹配时,就会发生该错误。
错误消息:
ERROR 1005 (HY000): Can't create table './test/bar.frm' (errno: 150)
如 MySQL 外键约束文档中所述,foreign关键参考文献需要严格遵守特定规则。一个关键要求是引用表和被引用表都必须是 InnoDB 表。
Both tables must be InnoDB tables and they must not be TEMPORARY tables.
要解决此错误,请验证引用表 (bar) 和引用的表(foo)被定义为InnoDB表。如果不是,请将它们更改为使用 InnoDB 引擎。
ALTER TABLE bar ENGINE=InnoDB; ALTER TABLE foo ENGINE=InnoDB;
进行此更改后,尝试重新创建两个表之间的外键约束。如果问题仍然存在,请再次查阅MySQL文档或在相关论坛或MySQL专家处寻求帮助。
以上是如何修复 MySQL 错误 150:外键不匹配?的详细内容。更多信息请关注PHP中文网其他相关文章!