Mysql
 sql >> Base de données >  >> RDS >> Mysql

Utiliser ALTER pour supprimer une colonne si elle existe dans MySQL

Pour MySQL, il n'y en a pas : Demande de fonctionnalité MySQL .

Autoriser cela est sans doute une très mauvaise idée, de toute façon :IF EXISTS indique que vous exécutez des opérations destructrices sur une base de données avec (pour vous) une structure inconnue. Il peut y avoir des situations où cela est acceptable pour un travail local rapide et salissant, mais si vous êtes tenté d'exécuter une telle déclaration sur des données de production (dans une migration, etc.), vous jouez avec le feu.

Mais si vous insistez, il n'est pas difficile de simplement vérifier d'abord l'existence dans le client ou de détecter l'erreur.

MariaDB prend également en charge les éléments suivants à partir de 10.0.2 :

DROP [COLUMN] [IF EXISTS] col_name 

je. e.

ALTER TABLE my_table DROP IF EXISTS my_column;

Mais c'est sans doute une mauvaise idée de s'appuyer sur une fonctionnalité non standard prise en charge par un seul des nombreux forks de MySQL.