無法建立表格錯誤:排除「錯誤代碼:1005。無法建立表格'...'」
此My潛在原因:
-
鍵字段不符:確保主鍵字段的類型和大小引用的表與外鍵字段完全匹配。檢查大小差異(例如 INT 與 BIGINT)或簽名/未簽名狀態。
-
缺少索引或非主鍵:如果沒有,則在引用的鍵字段上建立索引沒有或不是主鍵。
-
重複的外鍵名稱: 驗證外鍵名稱在資料庫中是否唯一。在鍵名末尾添加隨機字元來測試這一點。
-
非 InnoDB 表型別: 外鍵關係要求兩個表格都是 InnoDB 型別。將 MyISAM 表轉換為 InnoDB。
-
NULL 限制衝突: 使用級聯 ON DELETE SET NULL 時,請確保引用的鍵欄位沒有 NOT NULL 限制。如有必要,允許 NULL 值。
-
字元集/排序規則不符: 檢查兩個表及其鍵列是否使用相同的字元集和排序規則設定。
-
預設外鍵值: 刪除外鍵列上設定的任何預設值,因為這可能會幹擾引用。
-
沒有單獨索引的複合鍵:為組合鍵中使用的每個鍵字段創建單獨的索引,即使它已經作為組合的一部分進行索引。
-
語法錯誤或欄位名稱輸入錯誤:驗證ALTER 語句的語法並檢查欄位名稱中的拼字錯誤
-
外鍵名稱長度超出限制:外鍵名稱應在64 個字元的限制內。
了解更多詳細資訊和可能的解決方案,請參考 MySQL 文件:MySQL Error Number 1005 Can't create table.
以上是為什麼我收到 MySQL 錯誤 1005:無法建立表格?的詳細內容。更多資訊請關注PHP中文網其他相關文章!