V SQLite se můžeme dotazovat na sqlite_schema
tabulky, abyste zjistili, zda daná tabulka existuje.
Před verzí SQLite 3.33.0 byla tato tabulka označována jako sqlite_master
(může být stále takto označován v následujících vydáních kvůli zpětné kompatibilitě).
Příklad
Zde je příklad k demonstraci:
SELECT EXISTS (
SELECT
name
FROM
sqlite_schema
WHERE
type='table' AND
name='Customers'
);
Výsledek:
1
V tomto případě tabulka existuje a 1
je vráceno.
Zde je příklad toho, co se stane, když tabulka neexistuje:
SELECT EXISTS (
SELECT
name
FROM
sqlite_schema
WHERE
type='table' AND
name='Inventory'
);
Výsledek:
0
sqlite_master
Tabulka
Stejný dotaz lze spustit pomocí sqlite_master
místo sqlite_schema
:
SELECT EXISTS (
SELECT
name
FROM
sqlite_master
WHERE
type='table' AND
name='Customers'
);
Výsledek:
1
Můžete také použít sqlite_temp_schema
nebo sqlite_temp_master
, ale tyto fungují pouze pro TEMP
databáze přidružená ke každému připojení databáze.