I MariaDB kan vi använda IF EXISTS
sats i DROP TABLE
för att kontrollera om tabellen finns eller inte innan du släpper den.
Exempel
Här är ett exempel att visa:
DROP TABLE IF EXISTS t1;
Den satsen släpper en tabell som heter t1
om det finns.
När jag körde det uttalandet fanns tabellen redan, så den togs bort och jag fick följande meddelande:
Query OK, 0 rows affected (0.156 sec)
När jag körde uttalandet igen (efter att det redan hade tappats) fick jag följande meddelande:
Query OK, 0 rows affected, 1 warning (0.028 sec)
Så det var inget fel, men jag fick en varning.
Låt oss ta en titt på varningen:
SHOW WARNINGS;
Resultat:
+-------+------+------------------------+ | Level | Code | Message | +-------+------+------------------------+ | Note | 1051 | Unknown table 'zap.t1' | +-------+------+------------------------+
Så varningen talar om för oss att tabellen inte existerar, men det är åtminstone inte ett fel.
Det här är vad som händer när vi inte använder IF EXISTS
:
DROP TABLE t1;
Resultat:
ERROR 1051 (42S02): Unknown table 'zap.t1'
Den här gången får vi ett felmeddelande.
Se även 4 sätt att kontrollera om en tabell finns i MariaDB om du bara vill kontrollera om en tabell finns utan att släppa den.