2014-12-23 160 views
1

可以說,我已經執行觸發一些警告信息查詢:抑制MySQL警告?

如:
DROP TABLE IF EXISTS "abcd";

有沒有辦法只抑制警告消息被觸發?

我看到系統變量「max_error_count」,將其更改爲零可能會忽略警告,但它也會執行所有錯誤/註釋消息。

回答

5

也許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) 
+0

它也抑制筆記嗎? – avisheks

+1

感謝它幫助:) – avisheks