排除 MySQL 的外鍵約束錯誤
在 MySQL 中建立外鍵關係需要仔細注意資料類型相容性。 外鍵列和引用的主鍵列之間的資料類型或長度不匹配將導致「外鍵約束格式不正確」錯誤。
這是一個常見的場景:
ID
欄位(主鍵),資料型別為 CHAR
。 IDFromTable1
欄位的 ID
欄位。 嘗試使用此查詢建立外鍵約束:
<code class="language-sql">ALTER TABLE `table2` ADD CONSTRAINT `FK1` FOREIGN KEY (`IDFromTable1`) REFERENCES `table1` (`ID`) ON UPDATE CASCADE ON DELETE CASCADE;</code>如果
和 IDFromTable1
有不同的資料型別或長度,ID
將會失敗。例如,如果 IDFromTable1
為 VARCHAR(50)
且 ID
為 CHAR(10)
,則不會建立限制。
解:
解決方案很簡單:確保外鍵列和引用列共用完全相同相同的資料類型和長度。 調整列定義以匹配將解決錯誤並允許成功建立外鍵關係。
以上是為什麼 MySQL 會拋出「外鍵約束格式不正確」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!