首頁 >資料庫 >mysql教程 >為什麼在向 MySQL 表添加外鍵時收到'錯誤代碼:1005”?

為什麼在向 MySQL 表添加外鍵時收到'錯誤代碼:1005”?

Barbara Streisand
Barbara Streisand原創
2024-12-10 04:06:49840瀏覽

Why Am I Getting

對表中新增外鍵進行故障排除

嘗試將外鍵新增至名為「katalog」的現有表時,可能會出現錯誤訊息遇到:「錯誤代碼:1005。無法建立表格'mytable.#sql-7fb1_7d3a' (errno: 150)."

原因:

  • ALTER TABLE 語句中的語法錯誤: 提供的語法包含不正確的語法引用表mytable.#sql-7fb1_7d3a 而不是katalog。
  • 對引用表的引用遺失或無效: 確保引用表(本例中為 Sprache)存在且具有適當匹配的欄位(本例中為 ID)。
  • 表和引用列屬性不相容:驗證外鍵列和引用列的資料類型和約束引用的列是相容的。

解決方案:

  1. 修正 ALTER TABLE 語句中的語法以引用正確的表名稱 katalog。
  2. 確保引用的表 Sprache 存在且具有與外鍵匹配的 ID 列約束。
  3. 驗證外鍵列(本例中為 Sprache)的資料類型和限制是否與引用表中引用列(Sprache 中的 ID)的資料類型和限制相符。

範例:

要成功新增外鍵,請使用以下更正後的 ALTER TABLE聲明:

ALTER TABLE katalog
ADD CONSTRAINT `fk_katalog_sprache`
FOREIGN KEY (`Sprache`)
REFERENCES `Sprache` (`ID`)
ON DELETE SET NULL
ON UPDATE SET NULL;

以上是為什麼在向 MySQL 表添加外鍵時收到'錯誤代碼:1005”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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