Dans MariaDB, 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à, elle a donc été supprimée et j'ai reçu le message suivant :
Requête OK, 0 lignes affectées (0,156 seconde)
Lorsque j'ai exécuté à nouveau l'instruction (après qu'elle avait déjà été supprimée), j'ai reçu le message suivant :
Requête OK, 0 lignes affectées, 1 avertissement (0,028 seconde)
Il n'y a donc pas eu d'erreur, mais j'ai reçu un avertissement.
Examinons l'avertissement :
SHOW WARNINGS;
Résultat :
+-------+------+-----------------------+| Niveau | Codage | Message |+-------+------+-----------------------+| Remarque | 1051 | Table inconnue 'zap.t1' |+-------+------+------------------------+Donc l'avertissement nous dit que la table n'existe pas, mais au moins ce n'est pas une erreur.
Voici ce qui se passe lorsque nous n'utilisons pas
IF EXISTS
:DROP TABLE t1;
Résultat :
ERREUR 1051 (42S02) :table inconnue 'zap.t1'Cette fois, nous obtenons une erreur.
Voir également 4 façons de vérifier si une table existe dans MariaDB si vous voulez simplement vérifier si une table existe sans la supprimer.