การปิดการแจ้งเตือน (Suppress Warnings) ใน MySQL
MySQL แสดง Warning เมื่อมีการดำเนินการที่ไม่รุนแรง (เช่น DROP TABLE IF EXISTS ตารางที่ไม่มีอยู่) เราสามารถปิดการแสดง Warning ได้โดยตั้งค่า sql_notes = 0
เปิด sql_notes (ค่าเริ่มต้น) และทดสอบ DROP ตารางไม่มีอยู่
mysql> SET sql_notes = 1;
Query OK, 0 rows affected (0.00 sec)
mysql> DROP TABLE IF EXISTS web.DemoTable;
Query OK, 0 rows affected, 1 warning (0.07 sec)
ดู Warning ที่เกิดขึ้น
mysql> SHOW WARNINGS;
ผลลัพธ์:
+-------+------+-----------------------------------+
| Level | Code | Message |
+-------+------+-----------------------------------+
| Note | 1051 | Unknown table 'web.DemoTable' |
+-------+------+-----------------------------------+
1 row in set (0.00 sec)
ปิด sql_notes และทดสอบอีกครั้ง
mysql> SET sql_notes = 0;
Query OK, 0 rows affected (0.00 sec)
mysql> DROP TABLE IF EXISTS web.DemoTable;
Query OK, 0 rows affected (0.07 sec)
ตรวจสอบ Warning อีกครั้ง
mysql> SHOW WARNINGS;
Empty set (0.00 sec)
คำอธิบาย
SET sql_notes = 1: เปิดการเก็บ/แสดง Warning (Default)SET sql_notes = 0: ปิดการเก็บ/แสดง Warning- หลังปิดแล้ว
SHOW WARNINGSจะคืนEmpty set - มีผลต่อ Session ปัจจุบันเท่านั้น (Session variable)
- ใช้ระวัง: อาจพลาด Warning ที่สำคัญในการ Debug