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

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

Susan Sarandon
Susan Sarandon原創
2025-01-20 02:19:09665瀏覽

Why Am I Getting a MySQL

排除 MySQL 的「無法建立表格」錯誤(錯誤編號:150)

透過 SQL 腳本建立表格有時會導致錯誤「MySQL:無法建立表格(errno:150)」。 .sql檔案匯入時常出現這種情況,導致建表失敗。

根本原因:

錯誤「錯誤 150:外鍵約束不正確」表示表格定義和引用外鍵約束之間不符。 新建立的表不滿足外鍵要求。

解:

MySQL 的 FOREIGN KEY 文件指出:重新建立的表必須精確地匹配引用它的外鍵約束。 這意味著引用鍵上相同的列名、資料類型和索引至關重要。 如果不符合這些條件,則會產生錯誤 1005,訊息中會註明錯誤 150,表示外鍵約束格式不正確。

因此:

  • 列名稱和資料類型必須與引用的約束相符。
  • 引用鍵上的索引是強制性的。
  • 表定義不得違反外鍵約束。

偵錯步驟:

  1. 列定義驗證:確認新表的列名稱和資料類型與原始架構中的列名稱和資料類型相同。
  2. 索引檢查:驗證原始表和新表中引用鍵上是否有索引。
  3. 外鍵約束檢查:仔細檢查引用表的外鍵約束。 確保它們被準確定義並指向引用表中的正確列。
  4. .sql 腳本檢查: 徹底檢查 .sql 檔案的完整性以及不存在可能影響表定義或約束的語法錯誤。

透過修正這些潛在的不一致,表定義將與引用的外鍵約束保持一致,解決「錯誤 150:外鍵約束不正確」問題。

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

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