SHOW WARNINGS语句SHOW WARNINGS [LIMIT [offset,] row_count]

SHOW COUNT(*) WARNINGS

SHOW WARNINGS是诊断语句,显示有关在当前会话中执行语句所导致的条件(错误,警告和注释)的信息。警告DML语句诸如产生INSERT,UPDATE和LOAD DATA以及DDL语句如CREATE TABLE和ALTER TABLE。

该LIMIT子句与该语句具有相同的语法SELECT。请参见“ SELECT语句”。

SHOW WARNINGS以下还用于EXPLAIN显示生成的扩展信息EXPLAIN。请参见“扩展的EXPLAIN输出格式”。

SHOW WARNINGS显示有关由于当前会话中执行最新的非诊断性语句而导致的条件的信息。如果最新的语句在解析过程中导致错误,请SHOW WARNINGS显示结果条件,无论语句类型(诊断或非诊断)如何。

该SHOW COUNT(*)WARNINGS诊断语句显示错误,警告和注意事项的总数。您还可以从warning_count系统变量中检索此数字:SHOW COUNT(*) WARNINGS;

SELECT @@warning_count;

这些语句的不同之处在于,第一个是不清除消息列表的诊断语句。第二个,因为它是一条SELECT语句,被认为是非诊断性的,并且确实清除了消息列表。

相关的诊断语句,SHOW ERRORS仅显示错误情况(不包括警告和注释),SHOW COUNT(*)ERRORS该语句显示错误总数。请参见“ SHOW ERRORS语句”。GET DIAGNOSTICS可用于检查各个条件的信息。请参见“GET DIAGNOSTICS语句”。

这是一个简单的示例,显示的数据转换警告INSERT。该示例假定禁用了严格的SQL模式。启用严格模式后,警告将变为错误并终止INSERT。mysql> CREATE TABLE t1 (a TINYINT NOT NULL, b CHAR(4));

Query OK, 0 rows affected (0.05 sec)

mysql> INSERT INTO t1 VALUES(10,'mysql'), (NULL,'test'), (300,'xyz');

Query OK, 3 rows affected, 3 warnings (0.00 sec)

Records: 3 Duplicates: 0 Warnings: 3

mysql> SHOW WARNINGS\G

*************************** 1. row ***************************

Level: Warning

Code: 1265

Message: Data truncated for column 'b' at row 1

*************************** 2. row ***************************

Level: Warning

Code: 1048

Message: Column 'a' cannot be null

*************************** 3. row ***************************

Level: Warning

Code: 1264

Message: Out of range value for column 'a' at row 3

3 rows in set (0.00 sec)

所述max_error_count系统变量控制错误,警告和音符信息的最大数量的量,服务器存储的信息,并且因此,该消息数SHOW WARNINGS显示器。要更改服务器可以存储的消息数,请更改的值max_error_count。

max_error_count仅控制存储多少消息,而不控制计数多少。即使生成的消息数超过,的值warning_count也不受限制。以下示例对此进行了演示。该语句产生三个警告消息(此示例禁用了严格的SQL模式,以防止在单个转换问题后发生错误)。由于已将其设置为1,因此仅存储和显示一条消息,但所有这三条消息均被计数(如的值所示):max_error_countmax_error_countALTER TABLEmax_error_countwarning_countmysql> SHOW VARIABLES LIKE 'max_error_count';

+-----------------+-------+

| Variable_name | Value |

+-----------------+-------+

| max_error_count | 1024 |

+-----------------+-------+

1 row in set (0.00 sec)

mysql> SET max_error_count=1, sql_mode = '';

Query OK, 0 rows affected (0.00 sec)

mysql> ALTER TABLE t1 MODIFY b CHAR;

Query OK, 3 rows affected, 3 warnings (0.00 sec)

Records: 3 Duplicates: 0 Warnings: 3

mysql> SHOW WARNINGS;

+---------+------+----------------------------------------+

| Level | Code | Message |

+---------+------+----------------------------------------+

| Warning | 1263 | Data truncated for column 'b' at row 1 |

+---------+------+----------------------------------------+

1 row in set (0.00 sec)

mysql> SELECT @@warning_count;

+-----------------+

| @@warning_count |

+-----------------+

| 3 |

+-----------------+

1 row in set (0.01 sec)

要禁用消息存储,请将其设置max_error_count为0。在这种情况下,warning_count仍指示发生了多少警告,但是消息未存储且无法显示。

该sql_notes系统变量控制是否说明消息增量warning_count和服务器是否将它们存储。默认情况下sql_notes为1,但是如果设置为0,则注释不会递增warning_count,并且服务器不会存储它们:mysql> SET sql_notes = 1;

mysql> DROP TABLE IF EXISTS test.no_such_table;

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> SHOW WARNINGS;

+-------+------+------------------------------------+

| Level | Code | Message |

+-------+------+------------------------------------+

| Note | 1051 | Unknown table 'test.no_such_table' |

+-------+------+------------------------------------+

1 row in set (0.00 sec)

mysql> SET sql_notes = 0;

mysql> DROP TABLE IF EXISTS test.no_such_table;

Query OK, 0 rows affected (0.00 sec)

mysql> SHOW WARNINGS;

Empty set (0.00 sec)

MySQL服务器向每个客户端发送一个计数,该计数指示该客户端执行的最新语句导致的错误,警告和注释的总数。在C API中,可以通过调用获取此值mysql_warning_count()。请参见“ mysql_warning_count()”。

在mysql客户端中,您可以分别使用warnings和nowarning命令或它们的快捷方式\W和\w(启用和禁用自动警告显示)(请参见“ mysql客户端命令”)。例如:mysql> \W

Show warnings enabled.

mysql> SELECT 1/0;

+------+

| 1/0 |

+------+

| NULL |

+------+

1 row in set, 1 warning (0.03 sec)

Warning (Code 1365): Division by 0

mysql> \w

Show warnings disabled.

mysql --show-warnings=false_SHOW WARNINGS语句相关推荐

  1. MySQL优化之三:SQL语句优化

    一 SQL语句优化的一般步骤: 1 通过show status命令了解各种SQL语句的执行频率 mysql> show status;                #show status:显 ...

  2. 第二十三章 MySQL数据库 手册2 SQL语句

    第二十三章 MySQL数据库 手册2 SQL语句 实验二:用SQL语句,管理数据库 `危险命令,delete 后不加 where 条件代表删除所有数据 delete.` `更加危险的删除命令trunc ...

  3. mysql种default约束的语句_sql语句大全之SQL DEFAULT 约束

    SQL DEFAULT约束 DEFAULT 约束用于向列中插入默认值. 如果没有规定其他的值,那么会将默认值添加到所有的新纪录. SQL DEFAULT Constraint on CREATE TA ...

  4. MYSQL批量插入数据库实现语句性能分析

    MYSQL批量插入数据库实现语句性能分析 假定我们的表结构如下 代码如下   CREATE TABLE example ( example_id INT NOT NULL, name VARCHAR( ...

  5. mysql c where_mysql where条件语句优化笔记

    where优化主要适用于SELECT查询,当然DELETE和UPDATE语句中也会涉及,这个要大家在平常多积累. 删除不必要的括号: ((a AND b) AND c OR (((a AND b) A ...

  6. MySQL数据库https接口_第三章 mysql 数据库接口程序以及SQL语句操作

    mysql  数据库接口程序以及SQL语句操作 用于管理数据库: 命令接口自带命令 DDL:数据定义语言(create drop ) DCL: 数据控制语言(grant revoke) DML: 数据 ...

  7. mysql优化的几种方法_详解mysql数据库不同类型sql语句优化方法

    概述 分享一下之前笔记记录的一些不同类型sql语句优化方法,针对mysql. 主要分成优化INSERT语句.优化ORDER BY语句.优化GROUP BY 语句.优化嵌套查询.优化OR语句这几个方面, ...

  8. mysql 语句_如何记录MySQL执行过的SQL语句

    很多时候,我们需要知道 MySQL 执行过哪些 SQL 语句,比如 MySQL 被注入后,需要知道造成什么伤害等等.只要有 SQL 语句的记录,就能知道情况并作出对策.服务器是可以开启 MySQL 的 ...

  9. mysql直连1.执行语句_MySQL随笔01_一条SQL语句是如何执行的

    一.MySQL基础架构示意图 二.MySQL分层 总体来讲,MySQL可以分为二层:Server层 和 存储引擎 两部分,如下图所示. 不同的存储引擎共用一个Server层. 三.各部分组件概述 连接 ...

最新文章

  1. new和make的区别
  2. Teams新功能更新【六月底】Microsoft Teams: Music on Hold
  3. android 跳转到系统设置界面的所有Intent
  4. Request load 没有成功执行的原因分析
  5. C++ dll的隐式与显式调用
  6. guava 并发_使用Guava对并发应用程序进行基于对象的微锁定
  7. Laravel 成为最佳 PHP 框架的 14 个理由!
  8. 查询数据库中表的空间使用情况
  9. swift 异常捕获try catch的使用
  10. ASP.NET Session使用详解
  11. oracle left join行数,sql – 如何将此LEFT JOIN返回的行数限制为一个?
  12. FLV文件格式官方规范详解
  13. 基于个性化的电影推荐系统全流程设计
  14. background_dump_dest 参数
  15. firefox html5 pop,数组的push、unshift、pop、shift方法实现
  16. 阿里云服务器可不可以转海外服务器
  17. SQLite获取查询结果数
  18. rono在oracle的作用_Oracle 11g各种服务作用以及哪些需要开启
  19. 从红队视角看AWD攻击
  20. 一图看懂:信号的时域、频域、相位 ​​​​

热门文章

  1. 浅谈智慧医疗中常见的几种数据标注类型
  2. 抢抓双城发展机遇 新川代表团赴渝交流
  3. (B站必备)使用BiliBiliTool,全自动完成B 站任务神器!!!
  4. 超详细的Mysql安装教程
  5. 实名认证(二要素校验)-含手机验证码校验
  6. Sa-token 之 SaManager
  7. java 6u45 no sni 2_sjscxz.taobao.com
  8. js 日期函数 将 js new Date() 转化为年月日时分秒
  9. 计算机外部设备培训教学计划,【精品】计算机教学计划4篇
  10. HTML-简单表格制作