Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Ustaw wartość domyślną, jeśli zostanie przekazany pusty ciąg

Lepszym sposobem byłoby stworzenie wyzwalacza. Przeczytaj więcej o wyzwalaczach w dokumentacji MySQL . Podobną odpowiedź, aby uzyskać więcej informacji, można znaleźć tutaj .

Na to pytanie oto moja implementacja wyzwalacza.

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 ;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ZAŁADUJ INFILE DANYCH na zdalnym komputerze

  2. Którą z tych 2 konfiguracji bazy danych powinienem wybrać?

  3. Co dokładnie oznacza zestaw znaków i sortowanie?

  4. wyświetlanie dnia poprzez procedurę składowaną

  5. Jak używać Spring Boot z bazą danych MySQL i JPA?