首頁 > 資料庫 > mysql教程 > 為什麼匯入 .sql 檔案時 MySQL 出現「無法建立表格 (errno: 150)」錯誤?

為什麼匯入 .sql 檔案時 MySQL 出現「無法建立表格 (errno: 150)」錯誤?

Linda Hamilton
發布: 2025-01-20 02:22:09
原創
481 人瀏覽過

Why Am I Getting a

MySQL 錯誤:「無法建立表格 (errno: 150)」 - 故障排除指南

問題:

建立表格期間匯入包含表格定義的 SQL 檔案失敗,導致錯誤「Can't create table './dbname/data.frm' (errno: 150)。」

根本原因:

當表的重新建立與引用它的現有外鍵約束發生衝突時,會出現此錯誤,如 MySQL FOREIGN KEY Constraints 文件中所述。 重新建立的表必須在以下方面與原始表精確匹配:

  • 列名稱和資料類型:精確對應至關重要。
  • 引用鍵上的索引: 涉及外鍵關係的欄位上的所有必要索引都必須存在。

解:

要解決此問題,請仔細驗證以下內容:

  • 列一致性: 確認 SQL 檔案的表定義中的列名稱和資料類型與外鍵約束引用的表中的列名稱和資料類型相同。 即使很小的差異(例如不同的字元集)也可能觸發此錯誤。
  • 索引完整性: 在涉及外鍵關係的欄位上重新建立任何索引。確保這些索引存在並且符合原始表的索引規範。

確認這些方面後,請重試 SQL 導入。 如果問題仍然存在,請仔細檢查 SQL 檔案中的 CREATE TABLE 語句是否有任何不一致之處。

以上是為什麼匯入 .sql 檔案時 MySQL 出現「無法建立表格 (errno: 150)」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板