」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 為什麼我會收到 MySQL 錯誤 1022:「無法寫入;表中有重複的鍵。」即使我只有一個鍵?

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

發佈於2024-11-07
瀏覽:587

 Why Am I Getting MySQL Error 1022: \

MySQL 錯誤1022:外鍵名稱衝突

嘗試使用MySQL 建立表時,遇到錯誤1022:“無法寫入;重複鍵在表中。”特殊之處在於該表僅定義了一個鍵,但錯誤仍然存在。

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

CONSTRAINT `error_id`
FOREIGN KEY (`error_id` )
REFERENCES `mydb`.`errors` (`error_id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,

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

根本原因:

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

解決方案:

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

最新教學 更多>
  • 在 Fedora 24 伺服器和工作站上使用 MariaDB 和 PHP/PHP-FPM 設定 Nginx
    在 Fedora 24 伺服器和工作站上使用 MariaDB 和 PHP/PHP-FPM 設定 Nginx
    托管网站和在线应用程序需要设置 Web 服务器基础设施。在本文中,我们将尝试使用 MariaDB 和 PHP/PHP-FPM 了解在 Fedora 24 服务器和工作站上设置 Nginx。这种组合创建了一个强大的堆栈来管理数据库和呈现动态内容。这里介绍的主要概念可以应用于 Fedora 或其他 Li...
    程式設計 發佈於2024-11-07
  • 使用 React Hooks 和事件監聽器時,為什麼狀態控制台日誌顯示錯誤訊息?
    使用 React Hooks 和事件監聽器時,為什麼狀態控制台日誌顯示錯誤訊息?
    事件監聽器和React Hooks問題:使用React hooks和事件監聽器時,狀態控制台日誌顯示不正確的資訊。 問題描述考慮提供的CodeSandbox:https://codesandbox.io/s/lrxw1wr97m。當您按一下「新增卡片」按鈕兩次,然後按一下第一張卡片中的「Butto...
    程式設計 發佈於2024-11-07
  • 如何用Javascript實現IFRAME載入完成時的回呼?
    如何用Javascript實現IFRAME載入完成時的回呼?
    使用Javascript 回調載入Iframe要在IFRAME 完成載入時執行回調,請依照下列步驟操作: 建立IFRAME 與載入處理程序以程式設計方式建立IFRAME:var iFrameObj = document.createElement('IFRAME'); iFrameObj.src =...
    程式設計 發佈於2024-11-07
  • 如何管理部署到子資料夾的 MVC 應用程式的 URL 修改?
    如何管理部署到子資料夾的 MVC 應用程式的 URL 修改?
    了解應用程式子資料夾的URL 修改在開發部署到子資料夾的MVC 應用程式時,必須適應應用程式子資料夾的更改基本網址。這可確保 JavaScript 參考和 URL 在本機和部署環境中正常運作。 確定應用程式根的解決方案要確定根URL 並相應地修改JavaScript,有兩種方法:簡單方法:利用領先J...
    程式設計 發佈於2024-11-07
  • 如何將已知和未知鍵/值對的 JSON 解析為 Go 結構?
    如何將已知和未知鍵/值對的 JSON 解析為 Go 結構?
    使用任意鍵/值對解組JSON 到結構問題如何解析具有已知和未知鍵/值對的JSON 字符串進入Go 結構體?未知欄位可以具有任何名稱和值類型(字串、布林、float64 或 int)。 解決方案使用已知字段和未知字段的映射切片創建一個結構體:type Message struct { Know...
    程式設計 發佈於2024-11-07
  • [Go][Excelize] 確定儲存格值是否有刪除線
    [Go][Excelize] 確定儲存格值是否有刪除線
    簡介 我想確定儲存格的值是否有刪除線。 確定儲存格的值是否有刪除線 要確定儲存格的值是否有刪除線,我必須透過兩種方式取得儲存格樣式。 如果只有單元格的某些值被刪除,例如“A1”,我應該從“excelize.RichTextRun”取得單元格樣式。 如果單元格中...
    程式設計 發佈於2024-11-07
  • php:與進程的並發。角與 shmop 的進程間通信
    php:與進程的並發。角與 shmop 的進程間通信
    php isn't the sort of language where developers usually think about things like memory. we just sort of sling around variables and functions and let t...
    程式設計 發佈於2024-11-07
  • Kotlin vs. Java:Android 開發終極指南 4
    Kotlin vs. Java:Android 開發終極指南 4
    说到 Android 开发,争论最多的话题之一是 Kotlin 和 Java 之间的选择。两者都是功能强大的语言,各有优缺点,并且决策可以显着影响开发过程和最终产品。本博客将深入探讨 Kotlin 和 Java 的细微差别,从各个方面对它们进行比较,以帮助您决定哪种语言最适合您的 Android 开...
    程式設計 發佈於2024-11-07
  • 使用 Spring Boot 建立您的第一個微服務系統:初學者指南
    使用 Spring Boot 建立您的第一個微服務系統:初學者指南
    Introduction In this guide, we'll walk through the creation of a simple yet comprehensive microservices system using Spring Boot. We will cov...
    程式設計 發佈於2024-11-07
  • POST 請求能否觸發後退按鈕確認警報以及如何抑制它們?
    POST 請求能否觸發後退按鈕確認警報以及如何抑制它們?
    防止 POST 在按後退按鈕時確認警報透過 Web 表單提交大量參數時,經常使用 POST 請求而不是取得。但是,當使用者在頁面顯示後點選「後退」按鈕時,Firefox 會顯示確認警報。此警報警告 Firefox 將重新發送可能會重複先前操作的信息,例如搜尋或訂單確認。 雖然此行為可能旨在防止意外重...
    程式設計 發佈於2024-11-07
  • 用 PHP 建立一個簡單的頁面路由器
    用 PHP 建立一個簡單的頁面路由器
    建立文件 首先,我們將建立index.php、router.php和.htaccess檔案。 將所有請求重定向到.htaccess 中的index.php RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f R...
    程式設計 發佈於2024-11-07
  • 如何使用 :focus-visible 實現僅鍵盤焦點樣式?
    如何使用 :focus-visible 實現僅鍵盤焦點樣式?
    現代瀏覽器中僅鍵盤焦點樣式在現代瀏覽器中,:focus-visible 偽類可以用來實現鍵盤-僅焦點樣式。當使用者透過鍵盤或其他非指點裝置與頁面互動時,此偽類會符合焦點元素,從而在幫助使用者時指示焦點。因此,當使用者透過點擊或點擊進​​行互動時,聚焦環會被抑制。 自訂焦點樣式:focus-visib...
    程式設計 發佈於2024-11-07
  • 將 Google 日曆連接到 Django 應用程式
    將 Google 日曆連接到 Django 應用程式
    将 Google 日历与 Django 应用程序无缝集成以增强日程安排和事件管理的分步指南。 将 Google 日历与您的 Django 应用程序集成可以通过启用日程安排、事件管理和日历同步来显着增强您的 Web 应用程序的功能。本指南将引导您完成将 Google 日历连接到 Django 应用程序...
    程式設計 發佈於2024-11-07
  • 掌握 React 路由:應用程式導航完整指南
    掌握 React 路由:應用程式導航完整指南
    1. React Router簡介 React Router 是一個用於在 React 應用程式中處理路由的函式庫。它允許您的應用程式在不同的元件和視圖之間導航,而無需重新載入整頁,從而實現無縫的用戶體驗。 2. 基本設定 先安裝react-router-dom:...
    程式設計 發佈於2024-11-07
  • 如何重命名Python字典中的鍵?
    如何重命名Python字典中的鍵?
    字典中的鍵重命名重命名字典鍵可以透過多種方式實現,具體取決於字典的類型以及您是否想要保持鍵的位置。 常規字典對於常規字典,可以使用以下語法重新命名鍵:mydict[k_new] = mydict.pop(k_old)此操作將項目移至字典的末端。如果 k_new 已經存在,它的值將會被覆寫。 Orde...
    程式設計 發佈於2024-11-07

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3