В MySQL можем да използваме IF EXISTS
клауза на DROP TABLE
оператор, за да проверите дали таблицата съществува или не, преди да я пуснете.
Пример
Ето пример за демонстрация:
DROP TABLE IF EXISTS t1;
Това изявление пуска таблица, наречена t1
ако съществува.
Когато изпълних това изявление, таблицата вече съществуваше и затова беше изпусната и получих следното съобщение:
Query OK, 0 rows affected (0.00 sec)
Когато стартирах изявлението отново (след като вече беше изхвърлено), получих следното съобщение:
Query OK, 0 rows affected, 1 warning (0.00 sec)
Така че нямаше грешка, но получих предупреждение.
Нека да разгледаме предупреждението:
SHOW WARNINGS;
Резултат:
+-------+------+-------------------------+ | Level | Code | Message | +-------+------+-------------------------+ | Note | 1051 | Unknown table 'test.t1' | +-------+------+-------------------------+
Предупреждението ни казва, че таблицата не съществува, но не е грешка.
Ето какво се случва, когато не използваме IF EXISTS
:
DROP TABLE t1;
Резултат:
ERROR 1051 (42S02): Unknown table 'test.t1'
Този път получаваме грешка.
Вижте също 5 начина да проверите дали таблица съществува в MySQL, ако просто искате да проверите дали съществува таблица, без да я изпускате.