I SQLite kan vi forespørge sqlite_schema
tabel for at finde ud af, om en given tabel eksisterer.
Før SQLite version 3.33.0 blev denne tabel omtalt som sqlite_master
(det kan stadig omtales som sådan i efterfølgende udgivelser for bagudkompatibilitet).
Eksempel
Her er et eksempel til demonstration:
SELECT EXISTS (
SELECT
name
FROM
sqlite_schema
WHERE
type='table' AND
name='Customers'
);
Resultat:
1
I dette tilfælde eksisterer tabellen og 1
er returneret.
Her er et eksempel på, hvad der sker, når tabellen ikke eksisterer:
SELECT EXISTS (
SELECT
name
FROM
sqlite_schema
WHERE
type='table' AND
name='Inventory'
);
Resultat:
0
sqlite_master
Tabel
Den samme forespørgsel kan køres ved hjælp af sqlite_master
i stedet for sqlite_schema
:
SELECT EXISTS (
SELECT
name
FROM
sqlite_master
WHERE
type='table' AND
name='Customers'
);
Resultat:
1
Du kan også bruge sqlite_temp_schema
eller sqlite_temp_master
, men disse virker kun for TEMP
database knyttet til hver databaseforbindelse.