Comment puis-je vérifier de manière fiable dans SQLite si une table utilisateur particulière existe?
Je ne demande pas de moyens peu fiables comme vérifier si un "select *" sur la table a retourné une erreur ou non (est-ce même une bonne idée?).
La raison est la suivante:
Dans mon programme, je dois créer puis remplir certaines tables si elles n'existent pas déjà.
S'ils existent déjà, j'ai besoin de mettre à jour certaines tables.
Dois-je prendre un autre chemin à la place pour signaler que les tables en question ont déjà été créées - par exemple, en créant / plaçant / définissant un certain indicateur dans mon fichier d'initialisation / paramètres de programme sur le disque ou quelque chose?
Ou mon approche est-elle logique?
sqlite3.OperationalError
, vous devez donc analyser le message d'erreur afin de vous assurer que c'est par exemple le message "table TABLE_NAME existe déjà" lorsque vous créez une table, et sinon, relancez l'erreur et je pense qu'il n'y a aucune garantie que la formulation de l'erreur ne changera pas.