首頁 > 資料庫 > mysql教程 > 為什麼 MySQL 會拋出「外鍵約束格式不正確」錯誤?

為什麼 MySQL 會拋出「外鍵約束格式不正確」錯誤?

DDD
發布: 2025-01-19 05:55:10
原創
294 人瀏覽過

Why Does MySQL Throw a

排除 MySQL 的外鍵約束錯誤

在 MySQL 中建立外鍵關係需要仔細注意資料類型相容性。 外鍵列和引用的主鍵列之間的資料類型或長度不匹配將導致「外鍵約束格式不正確」錯誤。

這是一個常見的場景:

  • Table1: 包含一個 ID 欄位(主鍵),資料型別為 CHAR
  • Table2: 包含引用 Table1 的 IDFromTable1 欄位的 ID 欄位。

嘗試使用此查詢建立外鍵約束:

ALTER TABLE `table2`  
ADD CONSTRAINT `FK1` 
FOREIGN KEY (`IDFromTable1`) REFERENCES `table1` (`ID`) 
ON UPDATE CASCADE 
ON DELETE CASCADE;
登入後複製
如果

IDFromTable1 有不同的資料型別或長度,ID 將會失敗。例如,如果 IDFromTable1VARCHAR(50)IDCHAR(10),則不會建立限制。

解:

解決方案很簡單:確保外鍵列和引用列共用完全相同相同的資料類型和長度。 調整列定義以匹配將解決錯誤並允許成功建立外鍵關係。

以上是為什麼 MySQL 會拋出「外鍵約束格式不正確」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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