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.