首页  >  文章  >  数据库  >  如何修复 MySQL 错误 150:外键不匹配?

如何修复 MySQL 错误 150:外键不匹配?

DDD
DDD原创
2024-11-26 16:01:17370浏览

How to Fix MySQL Error 150: Foreign Key Mismatch?

MySQL 错误 150 故障排除:外键不匹配

尝试在 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中文网其他相关文章!

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