Trong MySQL, chúng ta có thể sử dụng IF EXISTS
mệnh đề của DROP TABLE
để kiểm tra xem bảng có tồn tại hay không trước khi loại bỏ nó.
Ví dụ
Dưới đây là một ví dụ để chứng minh:
DROP TABLE IF EXISTS t1;
Câu lệnh đó làm rơi một bảng có tên t1
nếu nó tồn tại.
Khi tôi chạy câu lệnh đó, bảng đã tồn tại, vì vậy nó đã bị xóa và tôi nhận được thông báo sau:
Query OK, 0 rows affected (0.00 sec)
Khi tôi chạy lại câu lệnh (sau khi nó đã bị loại bỏ), tôi nhận được thông báo sau:
Query OK, 0 rows affected, 1 warning (0.00 sec)
Vì vậy, không có lỗi, nhưng tôi đã nhận được một cảnh báo.
Hãy xem cảnh báo:
SHOW WARNINGS;
Kết quả:
+-------+------+-------------------------+ | Level | Code | Message | +-------+------+-------------------------+ | Note | 1051 | Unknown table 'test.t1' | +-------+------+-------------------------+
Cảnh báo cho chúng ta biết rằng bảng không tồn tại, nhưng đó không phải là lỗi.
Đây là những gì sẽ xảy ra khi chúng tôi không sử dụng IF EXISTS
:
DROP TABLE t1;
Kết quả:
ERROR 1051 (42S02): Unknown table 'test.t1'
Lần này chúng tôi gặp lỗi.
Ngoài ra, hãy xem 5 cách để kiểm tra xem một bảng có tồn tại trong MySQL hay không nếu bạn chỉ muốn kiểm tra xem một bảng có tồn tại hay không mà không bỏ nó đi.