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

MySQL - Pouvez-vous récupérer la valeur par défaut d'une colonne ?

Cela devrait fonctionner pour vous

SET NEW.a = DEFAULT(NEW.a)

EDIT :Il semble que cela ne fonctionne pas.

Utilisez cette solution de contournement

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;

Vous pouvez également essayer

SET NEW.a = DEFAULT(table_name.a)