首頁 >資料庫 >mysql教程 >MySQL 錯誤 1022:為什麼在建立表格時出現重複鍵錯誤?

MySQL 錯誤 1022:為什麼在建立表格時出現重複鍵錯誤?

Patricia Arquette
Patricia Arquette原創
2024-10-28 04:50:30823瀏覽

  MySQL Error 1022: Why Am I Getting a Duplicate Key Error When Creating a Table?

MySQL 錯誤1022:精確定位重複

建立表格時遇到MySQL 錯誤1022 可能會令人困惑,尤其是在SQL 語句看似有效的情況下。讓我們深入研究這個問題並找出根本原因。

在提供的 SQL 中,提到該表只定義了一個鍵。然而,問題似乎出在外鍵定義。在建立表格期間嘗試插入重複鍵時,MySQL 會拋出錯誤 1022。

問題源自於外鍵名稱 (error_id) 與模型中其他位置的另一個外鍵的名稱相同。要理解這一點,請考慮以下場景:

  • 表「Catalog」包含一個名為「supplier」的外鍵,該外鍵引用表「Supplier」。
  • 表格「Product」也包含一個名為「supplier」的外鍵引用同一個表「Supplier」。

現在,如果兩個外鍵具有相同的名稱(「supplier」),MySQL 會將其解釋為外鍵中的「衝突」關鍵名稱。為了解決這個問題,每個外鍵在整個模式中都需要有一個唯一的名稱。

例如,您可以使用不同的名稱,例如:

  • catalog_supplier 作為外鍵表「Catalog」
  • 表「Product」中外鍵表「Catalog」
表「Product」中外鍵的product_sup_p >

透過區分外鍵名稱,MySQL 可以區分它們,並在建立表格時正確處理引用完整性.

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

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