0 votes

Puis-je tester l'existence d'une table dans une base de données SQLite ?

Existe-t-il un moyen de tester l'existence d'une table dans une base de données SQLite ? Pour l'instant, je crée la table dans un bloc try catch, et si celui-ci lève une exception, je sais que la table a été créée. Il doit bien y avoir un meilleur moyen, non ?

5voto

OMG Ponies Points 144785

Pour détecter si une table particulière existe, utilisez :

SELECT name 
  FROM sqlite_master
 WHERE type = 'table'
   AND name LIKE '%your_table_name%'

4voto

David Crawshaw Points 4842

Il existe une table appelée sqlite_master qui contient le schéma de la base de données. Vous pouvez exécuter une requête comme :

select count(*) from sqlite_master where name='users';

Si la requête renvoie 1, la table 'users' existe. Vous pouvez également utiliser la fonction if not exists Construction SQL :

create table if not exists users (name, pwd);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X