In SQLite können wir den IF EXISTS
verwenden -Klausel der DROP TABLE
-Anweisung, um zu prüfen, ob die Tabelle existiert oder nicht, bevor sie gelöscht wird.
Beispiel
Hier ist ein Beispiel zur Veranschaulichung:
DROP TABLE IF EXISTS t1;
Diese Anweisung löscht eine Tabelle namens t1
wenn es existiert.
Als ich diese Anweisung ausführte, existierte die Tabelle bereits und wurde daher gelöscht.
Als ich die Anweisung erneut ausführte (nachdem sie bereits gelöscht worden war), erhielt ich keinen Fehler.
Folgendes passiert, wenn wir IF EXISTS
nicht verwenden :
DROP TABLE t1;
Ergebnis:
Error: no such table: t1
Dieses Mal erhalten wir eine Fehlermeldung, die uns mitteilt, dass die Tabelle nicht existiert.
Siehe SQLite DROP TABLE
für eine Diskussion über Fremdschlüssel und Ansichtsabhängigkeiten beim Löschen von Tabellen in SQLite.
Sie können auch eine Abfrage für sqlite_master
ausführen table, wenn Sie nur prüfen möchten, ob eine Tabelle existiert, ohne sie zu löschen.