Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách tắt cảnh báo (suppress warnings) trong MySQL

Để ẩn các cảnh báo (warnings) khi thực thi câu lệnh MySQL (ví dụ: DROP TABLE IF EXISTS bảng không tồn tại), bạn thiết lập biến session SQL_NOTES = 0.

Ví dụ minh họa

Bật cảnh báo (mặc định):

mysql> SET sql_notes = 1;

Thử xóa bảng không tồn tại:

mysql> drop table if exists web.DemoTable;

Kết quả có warning:

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

Xem chi tiết warning:

mysql> show warnings;

Kết quả:

+-------+------+-----------------------------------+
| Level | Code | Message                           |
+-------+------+-----------------------------------+
| Note  | 1051 | Unknown table 'web.DemoTable'     |
+-------+------+-----------------------------------+

Tắt cảnh báo (Suppress Warnings)

mysql> SET sql_notes = 0;

Thực hiện lại DROP TABLE:

mysql> drop table if exists web.DemoTable;

Kết quả: Query OK, 0 rows affected (0.07 sec) - **KHÔNG CÓ WARNING**

Kiểm tra warnings:

mysql> show warnings;
Empty set (0.00 sec)

Giải thích:

  • SQL_NOTES = 1 (mặc định): Hiển thị Note-level warnings
  • SQL_NOTES = 0: Ẩn Note-level warnings (không ảnh hưởng Error/Warning level khác)
  • Chỉ ảnh hưởng session hiện tại

Ứng dụng: Script tự động hóa, migration, batch job nơi warning "bảng không tồn tại" khi DROP IF EXISTS làm nhiễu log output. Không khuyến nghị tắt warning thường xuyên trong phát triển/debug.