No SQLite, podemos consultar o
sqlite_schema table para descobrir se uma determinada tabela existe. Antes do SQLite versão 3.33.0, essa tabela era chamada de
sqlite_master (ainda pode ser referido como tal em versões subsequentes para compatibilidade com versões anteriores). Exemplo
Segue um exemplo para demonstrar:
SELECT EXISTS (
SELECT
name
FROM
sqlite_schema
WHERE
type='table' AND
name='Customers'
); Resultado:
1
Neste caso, a tabela existe e
1 é devolvido. Aqui está um exemplo do que acontece quando a tabela não existe:
SELECT EXISTS (
SELECT
name
FROM
sqlite_schema
WHERE
type='table' AND
name='Inventory'
); Resultado:
0
O sqlite_master Tabela
A mesma consulta pode ser executada usando
sqlite_master em vez de sqlite_schema :SELECT EXISTS (
SELECT
name
FROM
sqlite_master
WHERE
type='table' AND
name='Customers'
); Resultado:
1
Você também pode usar
sqlite_temp_schema ou sqlite_temp_master , mas isso só funciona para o TEMP banco de dados associado a cada conexão de banco de dados.