Можете да създадете тригер 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;
Надявам се, че това помага.