Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL:puoi recuperare il valore predefinito di una colonna?

Questo dovrebbe funzionare per te

SET NEW.a = DEFAULT(NEW.a)

EDIT:Sembra che non funzioni.

Usa questa soluzione 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;

Puoi anche provare

SET NEW.a = DEFAULT(table_name.a)