I MariaDB kan vi bruge IF EXISTS
klausul i DROP TABLE
sætning for at kontrollere, om tabellen eksisterer eller ej, før den slettes.
Eksempel
Her er et eksempel til demonstration:
DROP TABLE IF EXISTS t1;
Denne sætning udlader en tabel kaldet t1
hvis den findes.
Da jeg kørte den erklæring, eksisterede tabellen allerede, så den blev slettet, og jeg fik følgende besked:
Query OK, 0 rows affected (0.156 sec)
Da jeg kørte erklæringen igen (efter at den allerede var blevet slettet), fik jeg følgende besked:
Query OK, 0 rows affected, 1 warning (0.028 sec)
Så der var ingen fejl, men jeg fik en advarsel.
Lad os tage et kig på advarslen:
SHOW WARNINGS;
Resultat:
+-------+------+------------------------+ | Level | Code | Message | +-------+------+------------------------+ | Note | 1051 | Unknown table 'zap.t1' | +-------+------+------------------------+
Så advarslen fortæller os, at tabellen ikke eksisterer, men det er i det mindste ikke en fejl.
Her er, hvad der sker, når vi ikke bruger IF EXISTS
:
DROP TABLE t1;
Resultat:
ERROR 1051 (42S02): Unknown table 'zap.t1'
Denne gang får vi en fejl.
Se også 4 måder at kontrollere, om en tabel eksisterer i MariaDB, hvis du bare vil kontrollere, om en tabel eksisterer uden at slippe den.