Hãy cẩn thận khi kiểm tra sự tồn tại với một tuyên bố thích!
Nếu trong một loạt các sự kiện không may, biến của bạn sẽ bị trống và cuối cùng bạn thực hiện điều này:
SHOW DATABASES like '' -- dangerous!
Nó sẽ trả về TẤT CẢ cơ sở dữ liệu, do đó thông báo cho tập lệnh gọi rằng nó tồn tại do một số hàng được trả về.
Thực hành tốt hơn và an toàn hơn nhiều khi sử dụng "=" dấu bằng để kiểm tra sự tồn tại.
Cách chính xác và an toàn để kiểm tra sự tồn tại phải là:
SHOW DATABASES WHERE `database` = 'xxxxx' -- safe way to test for existence
Lưu ý rằng bạn phải bọc cơ sở dữ liệu tên cột bằng backticks, nó không thể sử dụng cú pháp thoải mái trong trường hợp này.
Bằng cách này, nếu mã tạo biến 'xxxxx' được trả về trống, thì SHOW DATABASES sẽ không trả về TẤT CẢ cơ sở dữ liệu, nhưng sẽ trả về một tập hợp trống.