Dans SQLite, nous pouvons utiliser le IF EXISTS
clause de la DROP TABLE
pour vérifier si la table existe ou non avant de la supprimer.
Exemple
Voici un exemple pour illustrer :
DROP TABLE IF EXISTS t1;
Cette instruction supprime une table appelée t1
s'il existe.
Lorsque j'ai exécuté cette instruction, la table existait déjà et elle a donc été supprimée.
Lorsque j'ai exécuté à nouveau l'instruction (après qu'elle avait déjà été supprimée), je n'ai pas eu d'erreur.
Voici ce qui se passe lorsque nous n'utilisons pas IF EXISTS
:
DROP TABLE t1;
Résultat :
Error: no such table: t1
Cette fois, nous obtenons une erreur nous indiquant que la table n'existe pas.
Voir SQLite DROP TABLE
pour une discussion sur les clés étrangères et afficher les dépendances lors de la suppression de tables dans SQLite.
Vous pouvez également exécuter une requête sur le sqlite_master
table si vous souhaitez simplement vérifier si une table existe sans la supprimer.