MySQL 錯誤 1022:揭示根本原因
建立表格是資料庫設計的一個基本面,但有時可能會出現意外錯誤。其中一個錯誤是臭名昭著的 MySQL 錯誤 1022,它經常在嘗試建立具有重複鍵的表時發生。
在最近的一個案例中,使用者在使用 MySQL Workbench 建立「errors_reports」表格時遇到了此錯誤。儘管該表看起來有效,但 MySQL 頑固地拒絕遵守,理由是存在重複鍵。
搜尋有罪的鍵
無法直觀地找到麻煩的鍵,用戶煞費苦心地消除了表定義的元素,最終隔離了罪魁禍首:引用“錯誤”表的外鍵約束。
相同外鍵的奇怪情況
奇怪的是,使用者在其他表中遇到了相同的外鍵定義,卻沒有出現問題。然而,在這種情況下,MySQL 拒絕容忍重複。
揭露衝突
這個令人困惑的困境的解決方案在於外鍵命名約定的概念。事實證明,外鍵不能在資料庫中共享相同的名稱。這是因為 MySQL 使用外鍵名稱來決定引用指向哪個表和欄位。為多個外鍵分配相同的名稱可能會導致混亂和歧義。
更清晰的表格建立路徑
解決錯誤並成功建立「errors_reports」表中,使用者調整了有問題的外鍵的名稱。透過確保外鍵名稱唯一,使用者滿足了 MySQL 的命名約定,為成功建立表格鋪平了道路。
以上是為什麼使用外鍵建立表格時出現 MySQL 錯誤 1022?的詳細內容。更多資訊請關注PHP中文網其他相關文章!