In SQLite, possiamo interrogare sqlite_schema tabella per scoprire se una determinata tabella esiste.
Prima di SQLite versione 3.33.0, questa tabella veniva chiamata sqlite_master (può ancora essere indicato come tale nelle versioni successive per la compatibilità con le versioni precedenti).
Esempio
Ecco un esempio da dimostrare:
SELECT EXISTS (
SELECT
name
FROM
sqlite_schema
WHERE
type='table' AND
name='Customers'
); Risultato:
1
In questo caso, la tabella esiste e 1 viene restituito.
Ecco un esempio di cosa succede quando la tabella non esiste:
SELECT EXISTS (
SELECT
name
FROM
sqlite_schema
WHERE
type='table' AND
name='Inventory'
); Risultato:
0
Il sqlite_master Tabella
La stessa query può essere eseguita utilizzando sqlite_master invece di sqlite_schema :
SELECT EXISTS (
SELECT
name
FROM
sqlite_master
WHERE
type='table' AND
name='Customers'
); Risultato:
1
Puoi anche usare sqlite_temp_schema o sqlite_temp_master , ma funzionano solo per TEMP database associato a ciascuna connessione al database.