在 MySQL 中,SHOW WARNINGS 语句用于查看最近执行的 SQL 语句产生的警告信息,通常是一些非致命性的错误或问题。
主要用途
- 显示警告信息:当 SQL 语句成功执行但存在潜在问题或提醒时,MySQL 会产生警告(Warnings)。
- 调试和优化:开发者可以通过 SHOW WARNINGS查看详细信息,从而更好地理解 SQL 语句的执行结果。
常见场景
- 数据截断(Truncated Data):插入或更新数据时,字段值超过定义长度,MySQL 会截断数据并生成警告。
- 数据类型转换(Implicit Conversion):MySQL 自动转换数据类型导致非精确存储。
- 非唯一索引插入重复值:执行 INSERT IGNORE或者INSERT ... ON DUPLICATE KEY UPDATE时,导致的非阻塞警告。
使用方法
- 显示警告
 执行一条会生成警告的 SQL 语句后,运行SHOW WARNINGS:SELECT '123456789' INTO @value; SHOW WARNINGS;
- 显示前 n 条警告 SHOW WARNINGS LIMIT 5;
- 结合 SHOW COUNT(*) WARNINGS
 查看最近 SQL 产生的警告数量:SHOW COUNT(*) WARNINGS;
结果输出
SHOW WARNINGS 的输出通常包含以下三列:
- Level:警告级别(Warning、Error、Note)。
- Code:MySQL 错误代码。
- Message:详细警告信息。
示例:
INSERT INTO test_table (name, age) VALUES ('John', 'not_a_number');
SHOW WARNINGS;
输出:
| Level | Code | Message | 
|---|---|---|
| Warning | 1366 | Incorrect integer value: … | 
总结
SHOW WARNINGS 用于显示 SQL 语句执行后生成的警告信息,帮助开发者发现潜在问题、优化查询或修正数据操作。



 苏公网安备32021302001419号
苏公网安备32021302001419号