首頁 >資料庫 >mysql教程 >為什麼使用外鍵建立表格時出現 MySQL 錯誤 1022?

為什麼使用外鍵建立表格時出現 MySQL 錯誤 1022?

Susan Sarandon
Susan Sarandon原創
2024-10-28 02:39:02250瀏覽

Why Am I Getting MySQL Error 1022 When Creating a Table with Foreign Keys?

MySQL 錯誤 1022:揭示根本原因

建立表格是資料庫設計的一個基本面,但有時可能會出現意外錯誤。其中一個錯誤是臭名昭著的 MySQL 錯誤 1022,它經常在嘗試建立具有重複鍵的表時發生。

在最近的一個案例中,使用者在使用 MySQL Workbench 建立「errors_reports」表格時遇到了此錯誤。儘管該表看起來有效,但 MySQL 頑固地拒絕遵守,理由是存在重複鍵。

搜尋有罪的鍵

無法直觀地找到麻煩的鍵,用戶煞費苦心地消除了表定義的元素,最終隔離了罪魁禍首:引用“錯誤”表的外鍵約束。

相同外鍵的奇怪情況

奇怪的是,使用者在其他表中遇到了相同的外鍵定義,卻沒有出現問題。然而,在這種情況下,MySQL 拒絕容忍重複。

揭露衝突

這個令人困惑的困境的解決方案在於外鍵命名約定的概念。事實證明,外鍵不能在資料庫中共享相同的名稱。這是因為 MySQL 使用外鍵名稱來決定引用指向哪個表和欄位。為多個外鍵分配相同的名稱可能會導致混亂和歧義。

更清晰的表格建立路徑

解決錯誤並成功建立「errors_reports」表中,使用者調整了有問題的外鍵的名稱。透過確保外鍵名稱唯一,使用者滿足了 MySQL 的命名約定,為成功建立表格鋪平了道路。

以上是為什麼使用外鍵建立表格時出現 MySQL 錯誤 1022?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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