首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 錯誤代碼完整對照表 (1005-1235) 含原因與解決方向

     編輯:MySQL 資料庫相關知識

MySQL 伺服器回傳的數字錯誤代碼 (Error Code) 共 100+ 種。本文彙整常見代碼、字面意義、典型觸發場景與排查方向,供開發與運維快速定位問題。

常見錯誤代碼分類對照

代碼訊息摘要典型原因排查方向
1005Can't create table外鍵定義錯誤、引擎不支援檢查 FK 參考欄位型別一致、引擎為 InnoDB
1006Can't create database權限不足、磁碟滿、路徑錯誤檢查 datadir 權限、磁碟空間
1007Database exists重複 CREATE DATABASE先 DROP 或改用 IF NOT EXISTS
1008Database doesn't existDROP/USE 不存在的庫確認拼字、大小寫 (Linux 區分)
1010Can't drop database目錄非空、權限不足手動清理 datadir 下殘留檔案
1016Can't open file.frm/.ibd 檔案遺失/損壞從備份還原、或 DROP TABLE 重建
1022Duplicate key唯一鍵/主鍵衝突檢查 INSERT 值、或用 INSERT IGNORE/ON DUPLICATE KEY
1032Record not foundDELETE/UPDATE 無匹配列確認 WHERE 條件、資料是否已刪
1036Table is read onlyMyISAM 表損壞、磁碟滿、唯讀屬性REPAIR TABLE、清理磁碟、檢查檔案屬性
1040Too many connections連線數達 max_connections調大 max_connections、檢查連線洩漏、啟用連線池
1044Access denied帳號無該庫權限GRANT 授權、FLUSH PRIVILEGES
1045Access denied (user/pwd)帳號密碼錯誤、Host 不匹配確認密碼、SELECT User,Host FROM mysql.user
1048Column cannot be nullNOT NULL 欄位未給值修正 INSERT/UPDATE 語句、或 ALTER 允許 NULL
1049Unknown database資料庫不存在建立資料庫或修正連線字串
1050Table already exists重複 CREATE TABLE先 DROP 或 CREATE IF NOT EXISTS
1051Unknown table表不存在確認拼字、schema、大小寫
1054Unknown column欄位不存在檢查 ALTER TABLE 是否執行成功
1062Duplicate entry唯一鍵值重複同 1022,檢查業務邏輯去重
1064Syntax errorSQL 語法錯誤對照保留字、引號、逗號、MySQL 版本差異
1081Can't create socketUnix socket 檔案衝突/權限檢查 socket 參數、重啟服務
1114Table is fullMyISAM 達 4GB/磁碟滿/InnoDB 表空間滿轉 InnoDB、擴充磁碟、innodb_data_file_path autoextend
1130Host not allowed遠端連線無權限GRANT ... TO 'user'@'%'、檢查 bind-address
1146Table doesn't exist同 1051同上
1158-1161Network read/write error/timeout網路不穩、防火牆、MTU、長查詢超時檢查網路、調大 net_read_timeout/net_write_timeout
1169Duplicate entry (UPDATE)更新導致唯一鍵衝突同 1062
1177Can't open table表鎖定、快取衝突FLUSH TABLES、重啟服務
1180/1181Commit/Rollback failed事務衝突、死鎖、記錄檔滿檢查 SHOW ENGINE INNODB STATUS
1203User max connections單用戶連線達上限調大 max_user_connections
1205Lock wait timeout行鎖等待超過 innodb_lock_wait_timeout優化長交易、索引、降低隔離級別
1213Deadlock循環等待鎖統一存取順序、縮短交易、重試邏輯
1216FK constraint fails (child)子表插入無對應父表記錄先插入父表、或暫時關閉 FK 檢查
1217FK constraint fails (parent)刪除父表仍有子表引用先刪子表、或 ON DELETE CASCADE
1226User resource exceeded單用戶資源超限 (queries/updates/connections/hr)調大 max_questions 等、優化慢查詢
1227Access denied (super privilege)需 SUPER 權限操作以 root 執行或授予 SUPER
1235MySQL version too old功能需較新版本升級 MySQL 或改用相容寫法

快速定位技巧

  • 應用層捕獲異常時,記錄 Error Code + SQLSTATE + 完整 SQL 片段。
  • 官方文件:perror 1062 (命令列工具) 可顯示代碼說明。
  • 常見三大類:連線權限 (1040-1130)、資料完整性 (1022,1062,1216)、語法/版本 (1064,1235)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved