為什麼我會收到 MySQL 錯誤 1022:「無法寫入;表中有重複的鍵。」即使我只有一個鍵?

Barbara Streisand
發布: 2024-11-01 14:26:29
原創
118 人瀏覽過

 Why Am I Getting MySQL Error 1022:

MySQL 錯誤1022:外鍵名稱衝突

嘗試使用MySQL 建立表格時,遇到錯誤1022:「無法寫入;重複鍵在表中。」奇怪的是,該表只定義了一個鍵,但錯誤仍然存在。

經調查,似乎表定義中的特定片段觸發了錯誤:

<code class="sql">CONSTRAINT `error_id`
FOREIGN KEY (`error_id` )
REFERENCES `mydb`.`errors` (`error_id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,</code>
登入後複製

雖然類似的外鍵定義存在於其他表中沒有問題,但問題在於外鍵名稱:error_id。

根本原因:

出現此問題的原因是外鍵名稱不能與整個資料庫模型中的另一個外鍵名稱相同。這意味著如果兩個表引用同一個表,則每個表中的外鍵必須具有唯一的名稱。

解:

要解決這個錯誤,只需給出有問題的外鍵有不同的名稱。例如,您可以將其命名為 fk_error_id。這會將其與模型中的任何其他外鍵區分開來,並允許 MySQL 成功建立表。

以上是為什麼我會收到 MySQL 錯誤 1022:「無法寫入;表中有重複的鍵。」即使我只有一個鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!