嘗試在 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中文網其他相關文章!