让我们说,我已经执行了一个触发一些警告消息的查询:
例如:
DROP TABLE IF EXISTS "abcd";
有没有办法只抑制触发的警告信息?
我看到有一个系统变量" max_error_count",将其更改为零可能会忽略警告,但它也会执行所有错误/注释消息。
答案 0 :(得分:6)
也许sql_notes变量可以帮助您解决此问题。 从联机帮助页引用:
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)