В SQLite можем да потърсим sqlite_schema
таблица, за да разберете дали дадена таблица съществува.
Преди версията на SQLite 3.33.0 тази таблица се наричаше sqlite_master
(все още може да бъде наричан такъв в следващите издания за обратна съвместимост).
Пример
Ето пример за демонстрация:
SELECT EXISTS (
SELECT
name
FROM
sqlite_schema
WHERE
type='table' AND
name='Customers'
);
Резултат:
1
В този случай таблицата съществува и 1
се връща.
Ето пример за това какво се случва, когато таблицата не съществува:
SELECT EXISTS (
SELECT
name
FROM
sqlite_schema
WHERE
type='table' AND
name='Inventory'
);
Резултат:
0
sqlite_master
Таблица
Същата заявка може да се изпълни с помощта на sqlite_master
вместо sqlite_schema
:
SELECT EXISTS (
SELECT
name
FROM
sqlite_master
WHERE
type='table' AND
name='Customers'
);
Резултат:
1
Можете също да използвате sqlite_temp_schema
или sqlite_temp_master
, но те работят само за TEMP
база данни, свързана с всяка връзка с база данни.