| 錯誤代碼 | 錯誤名稱 | SQLSTATE | 典型原因/解決 |
|---|---|---|---|
| 2002 | CR_CONNECTION_ERROR | HY000 | 無法連接服務器:服務未啟動、socket/port 錯誤、防火牆攔截 |
| 1040 | ER_CON_COUNT_ERROR | 08004 | 連接數超限:調大 max_connections 或優化長連接 |
| 1042 | ER_BAD_HOST_ERROR | 08S01 | 主機名解析失敗:檢查 DNS、/etc/hosts、skip-name-resolve |
| 1043 | ER_HANDSHAKE_ERROR | 08S01 | 握手失敗:版本不兼容、SSL 配置錯誤、認證插件不匹配 |
| 1044 | ER_DBACCESS_DENIED_ERROR | 42000 | 庫級權限不足:GRANT 權限 |
| 1045 | ER_ACCESS_DENIED_ERROR | 42000 | 用戶/密碼/主機不匹配:檢查 user 表、密碼插件、主機通配符 |
| 1049 | ER_BAD_DB_ERROR | 42000 | 數據庫不存在 |
| 1129 | ER_HOST_IS_BLOCKED | HY000 | 主機被封禁:FLUSH HOSTS 或增大 max_connect_errors |
| 1130 | ER_HOST_NOT_PRIVILEGED | HY000 | 主機無權限:GRANT 時指定正確 host |
| 代碼 | 名稱 | SQLSTATE | 說明 |
|---|---|---|---|
| 1005 | ER_CANT_CREATE_TABLE | HY000 | 建表失敗:外鍵定義錯誤、引擎不支持、磁盤滿 |
| 1007 | ER_DB_CREATE_EXISTS | HY000 | 庫已存在 |
| 1008 | ER_DB_DROP_EXISTS | HY000 | 庫不存在無法刪除 |
| 1050 | ER_TABLE_EXISTS_ERROR | 42S01 | 表已存在:用 CREATE TABLE IF NOT EXISTS |
| 1051 | ER_BAD_TABLE_ERROR | 42S02 | 表不存在 |
| 1060 | ER_DUP_FIELDNAME | 42S21 | 重複列名 |
| 1061 | ER_DUP_KEYNAME | 42000 | 重複索引名 |
| 1062 | ER_DUP_ENTRY | 23000 | 主鍵/唯一鍵衝突:檢查業務邏輯、自增值耗盡 |
| 1064 | ER_PARSE_ERROR | 42000 | SQL 語法錯誤:檢查保留字、引號、逗號 |
| 1068 | ER_MULTIPLE_PRI_KEY | 42000 | 多個主鍵定義 |
| 1075 | ER_WRONG_AUTO_KEY | 42000 | 自增列非鍵或非整數 |
| 1114 | ER_RECORD_FILE_FULL | HY000 | 表滿:MyISAM 4GB 限制、磁盤滿、InnoDB 表空間滿 |
| 1118 | ER_TOO_BIG_ROWSIZE | 42000 | 行大小超過 65535 字節(含 VARCHAR 實際長度) |
| 1169 | ER_DUP_UNIQUE | 23000 | 唯一鍵衝突 |
| 1171 | ER_PRIMARY_CANT_HAVE_NULL | 42000 | 主鍵列含 NULL |
| 代碼 | 名稱 | SQLSTATE | 說明 |
|---|---|---|---|
| 1048 | ER_BAD_NULL_ERROR | 23000 | NOT NULL 列插入 NULL |
| 1054 | ER_BAD_FIELD_ERROR | 42S22 | 列不存在 |
| 1062 | ER_DUP_ENTRY | 23000 | 重複鍵值(同上) |
| 1136 | ER_WRONG_VALUE_COUNT_ON_ROW | 21S01 | 列數與值數不匹配 |
| 1166 | ER_WRONG_COLUMN_NAME | 42000 | 列名錯誤 |
| 1213 | ER_LOCK_DEADLOCK | 40001 | 死鎖:檢查事務加鎖順序、索引缺失、長事務 |
| 1205 | ER_LOCK_WAIT_TIMEOUT | HY000 | 鎖等待超時:innodb_lock_wait_timeout、優化慢 SQL |
| 1216 | ER_NO_REFERENCED_ROW | 23000 | 外鍵父行不存在 |
| 1217 | ER_ROW_IS_REFERENCED | 23000 | 父行被引用無法刪除 |
| 代碼 | 名稱 | SQLSTATE | 說明 |
|---|---|---|---|
| 1179 | ER_CANT_DO_THIS_DURING_AN_TRANSACTION | 25000 | 事務中禁用該操作(如 DDL) |
| 1180 | ER_ERROR_DURING_COMMIT | HY000 | 提交失敗 |
| 1181 | ER_ERROR_DURING_ROLLBACK | HY000 | 回滾失敗 |
| 1192 | ER_LOCK_OR_ACTIVE_TRANSACTION | HY000 | 活躍事務/鎖衝突 |
| 1197 | ER_TRANS_CACHE_FULL | HY000 | 事務緩存滿 |
| 1200 | ER_BAD_SLAVE | HY000 | 從庫配置錯誤 |
| 1201 | ER_MASTER_INFO | HY000 | master.info 讀寫錯誤 |
| 1202 | ER_SLAVE_THREAD | HY000 | SQL/IO 線程異常 |
| 1218 | ER_CONNECT_TO_MASTER | 08S01 | 連接主庫失敗 |
| 1236 | ER_MASTER_FATAL_ERROR_READING_BINLOG | HY000 | 主庫讀 binlog 致命錯誤 |
| 代碼 | 名稱 | SQLSTATE | 說明 |
|---|---|---|---|
| 1037 | ER_OUTOFMEMORY | HY001 | 內存不足:調大內存、優化查詢、檢查內存洩漏 |
| 1038 | ER_OUT_OF_SORTMEMORY | HY001 | 排序緩存不足:增大 sort_buffer_size |
| 1119 | ER_STACK_OVERRUN | HY000 | 線程棧溢出:增大 thread_stack |
| 1153 | ER_NET_PACKET_TOO_LARGE | 08S01 | 封包過大:增大 max_allowed_packet |
| 1160 | ER_NET_ERROR_ON_WRITE | 08S01 | 網絡寫入錯誤 |
| 1226 | ER_USER_LIMIT_REACHED | 42000 | 用戶資源限制(MAX_QUERIES_PER_HOUR 等) |
| 1267 | ER_REVOKE_GRANTS | 42000 | 撤銷權限失敗 |
Server Error Codes and Messages 章節。SHOW ENGINE INNODB STATUS、錯誤日志、慢查詢日志分析上下文。