I SQLite 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, og den blev derfor droppet.
Da jeg kørte erklæringen igen (efter at den allerede var blevet slettet), fik jeg ikke en fejl.
Her er, hvad der sker, når vi ikke bruger IF EXISTS
:
DROP TABLE t1;
Resultat:
Error: no such table: t1
Denne gang får vi en fejl, der fortæller os, at tabellen ikke eksisterer.
Se SQLite DROP TABLE
for en diskussion om fremmednøgler og visningsafhængigheder, når tabeller slettes i SQLite.
Du kan også køre en forespørgsel mod sqlite_master
tabel, hvis du bare vil tjekke om en tabel eksisterer uden at slippe den.