Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ปิดการแสดง Warning ใน MySQL ด้วย SET SQL_NOTES = 0

การปิดการแจ้งเตือน (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