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

Définir la valeur par défaut si une chaîne vide est passée

Une meilleure façon serait de créer un déclencheur. En savoir plus sur les déclencheurs sur la Documentation MySQL . Une réponse similaire pour plus de détails peut être trouvée ici .

Pour cette question, voici mon implémentation du déclencheur.

delimiter #
create trigger nonEmptyString
before insert
on users
for each row

BEGIN
IF NEW.balance = '' THEN
   SELECT COLUMN_DEFAULT INTO @def
   FROM information_schema.COLUMNS
   WHERE
     table_schema = 'Schema Name'
     AND table_name = 'users'
     AND column_name = 'balance';
   SET NEW.balance = @def;
END IF;

end#

delimiter ;