In SQLite, possiamo usare IF EXISTS
clausola del DROP TABLE
istruzione per verificare se la tabella esiste o meno prima di eliminarla.
Esempio
Ecco un esempio da dimostrare:
DROP TABLE IF EXISTS t1;
Tale istruzione rilascia una tabella chiamata t1
se esiste.
Quando ho eseguito quell'istruzione, la tabella esisteva già e quindi è stata eliminata.
Quando ho eseguito di nuovo l'istruzione (dopo che era già stata eliminata), non ho ricevuto alcun errore.
Ecco cosa succede quando non utilizziamo IF EXISTS
:
DROP TABLE t1;
Risultato:
Error: no such table: t1
Questa volta riceviamo un errore che ci dice che la tabella non esiste.
Vedi SQLite DROP TABLE
per una discussione sulle chiavi esterne e visualizzare le dipendenze quando si eliminano le tabelle in SQLite.
Puoi anche eseguire una query su sqlite_master
table se vuoi solo controllare se esiste una tabella senza eliminarla.