Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL - Können Sie den Standardwert einer Spalte abrufen?

Das sollte für Sie funktionieren

SET NEW.a = DEFAULT(NEW.a)

EDIT:Anscheinend funktioniert das nicht.

Verwenden Sie diese Problemumgehung

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;

Sie können es auch mit

versuchen
SET NEW.a = DEFAULT(table_name.a)