首頁 >資料庫 >mysql教程 >為什麼我收到 MySQL「無法建立表 (errno: 150)」錯誤?

為什麼我收到 MySQL「無法建立表 (errno: 150)」錯誤?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-20 02:39:09327瀏覽

Why Am I Getting a MySQL

解決MySQL "無法建立表格 (errno: 150)" 錯誤

在SQL匯入過程中建立表格時遇到錯誤150可能會令人困惑。本文深入探討此問題根本原因,提供清晰的理解和解決方案。

問題分析

錯誤 "MySQL: 無法建立表 (errno: 150)" 出現在匯入表的定義與引用它的外鍵約束衝突時。這些約束確保相關表之間的資料完整性。

檢查外鍵約束

要解決此錯誤,請驗證外鍵約束的以下方面:

  1. 列名和類型是否正確:確保新建立的表與父表中引用的列具有相同的列名和資料類型。
  2. 索引是否存在:確認正在建立的表在外鍵引用的列上具有索引。缺少合適的索引會破壞引用完整性並觸發錯誤150。

解決衝突

一旦確定表格定義和外鍵約束之間的差異,請修改表格定義以符合預期的限制。這可能包括新增缺少的欄位、修改資料類型或建立必要的索引。

其他注意事項

  • 如果刪除表然後重新創建,則其定義必須與原始表相同,以避免外鍵約束衝突。
  • 如果更改影響約束的有效性,則更改具有外鍵約束的表的ALTER TABLE操作也會觸發錯誤150。

以上是為什麼我收到 MySQL「無法建立表 (errno: 150)」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn