W SQLite możemy zapytać o sqlite_schema tabeli, aby dowiedzieć się, czy dana tabela istnieje.
Przed wersją SQLite 3.33.0 ta tabela była określana jako sqlite_master (nadal może być określany jako taki w kolejnych wydaniach w celu zapewnienia kompatybilności wstecznej).
Przykład
Oto przykład do zademonstrowania:
SELECT EXISTS (
SELECT
name
FROM
sqlite_schema
WHERE
type='table' AND
name='Customers'
); Wynik:
1
W tym przypadku tabela istnieje i 1 jest zwracany.
Oto przykład tego, co się dzieje, gdy tabela nie istnieje:
SELECT EXISTS (
SELECT
name
FROM
sqlite_schema
WHERE
type='table' AND
name='Inventory'
); Wynik:
0
sqlite_master Tabela
To samo zapytanie można uruchomić za pomocą sqlite_master zamiast sqlite_schema :
SELECT EXISTS (
SELECT
name
FROM
sqlite_master
WHERE
type='table' AND
name='Customers'
); Wynik:
1
Możesz także użyć sqlite_temp_schema lub sqlite_temp_master , ale działają one tylko dla TEMP baza danych powiązana z każdym połączeniem z bazą danych.