首頁 >資料庫 >mysql教程 >為什麼我會收到外鍵約束錯誤(錯誤代碼 1215)?

為什麼我會收到外鍵約束錯誤(錯誤代碼 1215)?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-25 01:43:11793瀏覽

Why Am I Getting a Foreign Key Constraint Error (Error Code 1215)?

外鍵約束錯誤:錯誤代碼1215

嘗試在表格中新增外鍵約束時,錯誤代碼1215,"無法新增外鍵約束(外鍵)”,可能會發生。此錯誤表示引用列和外鍵列之間的資料類型不符。

錯誤分析:

在給定的範例中,錯誤可能源自於遵循外鍵限制:

FOREIGN KEY (classLeader) REFERENCES student(studentID)

這裡,classLeader 欄位的資料型別為VARCHAR(255),而所引用的學生表中的studentID欄位的資料型別為INT。引用列和外鍵列的資料類型必須相符。

替代解決方案:

要解決此錯誤,請確保引用列和外鍵列的資料類型一致相符。在這種情況下,可以將 classLeader 欄位變更為 INT 資料類型,以匹配 StudentID 欄位。

使用外鍵填充表:

填充表時如果表有外鍵約束,則無法直接向外鍵字段插入資料。相反,數據必須先插入到引用的表(例如,學生表)中。然後可以使用參考表中對應的主鍵值填入外鍵欄位(例如,classID)。

外鍵作為鍵:

外鍵是被認為是一種鍵,特別是邏輯鍵。它們不是主鍵或唯一鍵,但它們透過維護表之間的關係在確保資料完整性方面發揮著至關重要的作用。外鍵強制引用完整性,透過確保子表(例如班級)中的記錄在父表(例如學生)中具有相應的記錄來防止資料不一致。

以上是為什麼我會收到外鍵約束錯誤(錯誤代碼 1215)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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