W MariaDB 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.156 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.028 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 'zap.t1' | +-------+------+------------------------+
Tak więc ostrzeżenie mówi nam, że tabela nie istnieje, ale przynajmniej nie jest to błąd.
Oto, co się dzieje, gdy nie używamy IF EXISTS
:
DROP TABLE t1;
Wynik:
ERROR 1051 (42S02): Unknown table 'zap.t1'
Tym razem pojawia się błąd.
Zobacz także 4 sposoby sprawdzenia, czy tabela istnieje w MariaDB, jeśli chcesz tylko sprawdzić, czy tabela istnieje bez upuszczania jej.