W MySQL możemy użyć IF EXISTS
klauzula DROP TABLE
oświadczenie, aby sprawdzić, czy tabela istnieje, czy nie przed jej usunięciem.
Przykład
Oto przykład do zademonstrowania:
DROP TABLE IF EXISTS t1;
Ta instrukcja upuszcza tabelę o nazwie t1
jeśli istnieje.
Kiedy uruchomiłem tę instrukcję, tabela już istniała, więc została usunięta i otrzymałem następujący komunikat:
Query OK, 0 rows affected (0.00 sec)
Po ponownym uruchomieniu wyciągu (po tym, jak zostało już usunięte), otrzymałem następujący komunikat:
Query OK, 0 rows affected, 1 warning (0.00 sec)
Więc nie było błędu, ale otrzymałem ostrzeżenie.
Rzućmy okiem na ostrzeżenie:
SHOW WARNINGS;
Wynik:
+-------+------+-------------------------+ | Level | Code | Message | +-------+------+-------------------------+ | Note | 1051 | Unknown table 'test.t1' | +-------+------+-------------------------+
Ostrzeżenie mówi nam, że tabela nie istnieje, ale nie jest to błąd.
Oto, co się dzieje, gdy nie używamy IF EXISTS
:
DROP TABLE t1;
Wynik:
ERROR 1051 (42S02): Unknown table 'test.t1'
Tym razem pojawia się błąd.
Zobacz także 5 sposobów sprawdzenia, czy tabela istnieje w MySQL, jeśli chcesz tylko sprawdzić, czy tabela istnieje bez upuszczania jej.