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.