首頁 > 資料庫 > mysql教程 > 如何解決MySQL新增外鍵時出現外鍵約束錯誤?

如何解決MySQL新增外鍵時出現外鍵約束錯誤?

DDD
發布: 2024-11-30 15:58:14
原創
972 人瀏覽過

How to Resolve MySQL Foreign Key Constraint Errors When Adding a Foreign Key?

修正 MySQL表中的外鍵添加錯誤

問題:

您想要在現有表中添加外鍵MySQL表卻遇到以下情況錯誤:

***Error Code: 1005. Can't create table 'mytable.#sql-7fb1_7d3a' (errno: 150)***
***Error in foreign key constraint of table mytable.#sql-7fb1_7d3a:***
FOREIGN KEY (`Sprache`) REFERENCES `Sprache` (`ID`) ON DELETE SET NULL ON UPDATE SET NULL:
登入後複製

解決方案:

要解決該錯誤,請確保您引用的表實際存在並且具有正確的列名稱。此錯誤表示 Sprache 表不存在或沒有名為 ID 的欄位。

修改後的查詢:

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

附加說明:

  • 兩個表(目錄和Sprache)都必須是InnoDB 且參考列具有對應的資料型別(INT(11) 和NOT NULL)。
  • 在新增約束之前,katalog 表中的外鍵列(Sprache)不得包含任何 NULL 值。
  • Sprache 表中所引用的欄位(本例為ID)應該是主欄位

一般外鍵新增語法:

ALTER TABLE <table_name>
ADD FOREIGN KEY (<column_name>)
REFERENCES <foreign_table_name>(<foreign_column_name>);
登入後複製

按照這些修訂後的說明,您應該能夠成功將外鍵新增到MySQL 中的目錄表。

以上是如何解決MySQL新增外鍵時出現外鍵約束錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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