I SQLite kan vi fråga sqlite_schema
tabell för att ta reda på om en given tabell finns.
Före SQLite version 3.33.0 kallades denna tabell för sqlite_master
(det kan fortfarande hänvisas till som sådant i efterföljande utgåvor för bakåtkompatibilitet).
Exempel
Här är ett exempel att visa:
SELECT EXISTS (
SELECT
name
FROM
sqlite_schema
WHERE
type='table' AND
name='Customers'
);
Resultat:
1
I det här fallet finns tabellen och 1
returneras.
Här är ett exempel på vad som händer när tabellen inte finns:
SELECT EXISTS (
SELECT
name
FROM
sqlite_schema
WHERE
type='table' AND
name='Inventory'
);
Resultat:
0
sqlite_master
Tabell
Samma fråga kan köras med sqlite_master
istället för sqlite_schema
:
SELECT EXISTS (
SELECT
name
FROM
sqlite_master
WHERE
type='table' AND
name='Customers'
);
Resultat:
1
Du kan också använda sqlite_temp_schema
eller sqlite_temp_master
, men dessa fungerar bara för TEMP
databas associerad med varje databasanslutning.