Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да попълвам автоматично име въз основа на име и фамилия в mysql?

Можете да създадете тригер BEFORE INSERT и тригер BEFORE UPDATE за да настроите полето за име на стойността на CONCAT_WS(' ', first_name, Middle_name, last_name) както следва... но не правете това. Това е ужасна идея. Изобщо не съхранявайте колоната с имена. Когато искате да изберете името, просто изберете CONCAT_WS(' ', first_name, Middle_name, last_name) AS full_name.

Имайте предвид, че CONCAT ще върне null, ако някоя от стойностите, които свързвате, е null, така че вероятно искате да използвате CONCAT_WS (с разделител) вместо това - ако някоя стойност в списъка е null, тя просто ще пропусне тази стойност и ще използва останалите.

Вашите тригери може да изглеждат по следния начин, ако решите да направите това:

 CREATE TRIGGER name_update BEFORE UPDATE ON member
    FOR EACH ROW
    BEGIN
        SET NEW.name = CONCAT_WS(' ', NEW.first_name, NEW.middle_name, NEW.last_name);
    END;

 CREATE TRIGGER name_insert BEFORE INSERT ON member
    FOR EACH ROW
    BEGIN
        SET NEW.name = CONCAT_WS(' ', NEW.first_name, NEW.middle_name, NEW.last_name);
    END;

Надявам се, че това помага.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Rust:Прочетете рамка с данни в поляри от mysql

  2. Как да изчислим ранга от таблицата на mysql

  3. PHP:Кой е най-бързият начин за запитване на MySQL? Тъй като PDO е болезнено бавен

  4. Създайте масив в PHP от mysql

  5. LAST_INSERT_ID() MySQL