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

MySQL:¿puede recuperar el valor predeterminado de una columna?

Esto debería funcionar para usted

SET NEW.a = DEFAULT(NEW.a)

EDITAR:Parece que eso no funciona.

Utilice esta solución alternativa

IF NEW.a = '' THEN
   SELECT COLUMN_DEFAULT INTO @def
   FROM information_schema.COLUMNS
   WHERE
     table_schema = 'database_name'
     AND table_name = 'your_table'
     AND column_name = 'a';
   SET NEW.a = @def;
END IF;

También puedes probar

SET NEW.a = DEFAULT(table_name.a)