MySQL 主鍵作為外鍵:錯誤及解決方案
在MySQL 中定義外鍵約束時,必須確保引用表並且引用的表有適當的索引。當使用一個表的主鍵作為另一個表中的外鍵時,此要求可能會導致問題。
主鍵作為外鍵
您提出的第一個問題是是否可以建立一個同時也是外鍵的主鍵。答案是肯定的,有可能,但有限制。
錯誤代碼1005
您遇到的錯誤,錯誤代碼1005,表示MySQL無法建立外部鍵約束,因為引用的表 dbimmobili.Immobile在外鍵中所引用的欄位上沒有索引
解決方案
要解決此問題,您需要在dbimmobili.Immobile 表中的ComuneImmobile、ViaImmmobile、CivicoImm5obile 和Internoobile列上建立索引。此索引將確保 MySQL 在執行外鍵檢查時能夠有效地找到引用的記錄。
建立索引後,您應該能夠匯出變更而不會遇到錯誤。
附加說明
需要注意的是,如果外部中使用的列的資料類型,您也可能會遇到問題引用表和被引用表之間的鍵約束不同。確保資料類型相容以避免任何潛在的錯誤。
以上是MySQL外鍵錯誤1005:如何解決主鍵外鍵衝突?的詳細內容。更多資訊請關注PHP中文網其他相關文章!