sql >> Base de Datos >  >> RDS >> Mysql

Usando ALTER para soltar una columna si existe en MySQL

Para MySQL, no hay ninguno: Solicitud de funciones de MySQL .

Permitir esto es posiblemente una muy mala idea, de todos modos:IF EXISTS indica que está ejecutando operaciones destructivas en una base de datos con una estructura desconocida (para usted). Puede haber situaciones en las que esto sea aceptable para un trabajo local rápido y sucio, pero si tiene la tentación de ejecutar una afirmación de este tipo en los datos de producción (en una migración, etc.), está jugando con fuego.

Pero si insiste, no es difícil simplemente verificar la existencia primero en el cliente o detectar el error.

MariaDB también admite lo siguiente a partir de 10.0.2:

DROP [COLUMN] [IF EXISTS] col_name 

i. es.

ALTER TABLE my_table DROP IF EXISTS my_column;

Pero podría decirse que es una mala idea confiar en una característica no estándar admitida solo por una de varias bifurcaciones de MySQL.