V MariaDB můžeme použít IF EXISTS
klauzule DROP TABLE
příkaz ke kontrole, zda tabulka existuje nebo ne, než ji zrušíte.
Příklad
Zde je příklad k demonstraci:
DROP TABLE IF EXISTS t1;
Tento příkaz zruší tabulku nazvanou t1
pokud existuje.
Když jsem spustil tento příkaz, tabulka již existovala, a tak byla zrušena a zobrazila se následující zpráva:
Dotaz je v pořádku, ovlivněno 0 řádků (0,156 s)
Když jsem příkaz znovu spustil (poté, co byl již zrušen), dostal jsem následující zprávu:
Dotaz je v pořádku, ovlivněno 0 řádků, 1 upozornění (0,028 s)
Takže nedošlo k žádné chybě, ale dostal jsem varování.
Podívejme se na varování:
SHOW WARNINGS;
Výsledek:
+-------+------+------------------------+| Úroveň | Kód | Zpráva |+-------+------+------------------------+| Poznámka | 1051 | Neznámá tabulka 'zap.t1' |+-------+------+------------------------+Takže varování nám říká, že tabulka neexistuje, ale alespoň to není chyba.
Co se stane, když nepoužijeme
IF EXISTS
:DROP TABLE t1;
Výsledek:
ERROR 1051 (42S02):Neznámá tabulka 'zap.t1'Tentokrát se zobrazí chyba.
Podívejte se také na 4 způsoby, jak zkontrolovat, zda tabulka existuje v MariaDB, pokud chcete pouze zkontrolovat, zda tabulka existuje, aniž byste ji zrušili.