首页/数据/数据库速查/SQL 常见报错对照与排查
本包目录(495 条)
MySQL 基础与连接36 条
SQL 语法52 条
用户与权限21 条备份与恢复56 条主从复制与高可用53 条性能与调优57 条Redis 命令96 条Redis 运维与场景124 条

SQL 常见报错对照与排查

高频 SQL 报错的定位路径:1064 语法、1054 未知列、1146 表不存在、1213 死锁、1205 锁等待超时、1114 结果集过大。

数据库速查数据更新于 2026-10-12

常见错误码

报错含义排查方向
1064You have an error in your SQL syntax附近词法错误、保留字、缺引号
1054Unknown column列名拼写、表别名前缀
1146Table doesn't exist库名/大小写/连接默认库
1213Deadlock found并发顺序、索引、短事务
1205Lock wait timeout exceeded长事务持锁,查 sys.innodb_lock_waits
1114The table is full临时表或磁盘空间上限

定位锁等待

定位锁等待
SELECT * FROM sys.innodb_lock_waits\G
SHOW ENGINE INNODB STATUS\G   -- 看 TRANSACTIONS 段
报错信息里的行号是语句内的偏移,配合 SHOW WARNINGS 与语句还原能快速定位。

易错点

  • Linux 上表名大小写敏感,Windows/macOS 默认不敏感,迁移后 1146 高发
  • 死锁不是异常而是并发结果,重试机制 + 固定加锁顺序才是正解

数据来源与参考

  • MySQL 8.0 Reference Manual: Error Messages and Common Problems

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌