Vous pouvez créer un déclencheur BEFORE INSERT et un déclencheur BEFORE UPDATE pour définir le champ de nom sur la valeur de CONCAT_WS(' ', first_name, middle_name, last_name) comme suit... mais ne le faites pas. C'est une idée terrible. Ne stockez pas du tout la colonne de nom. Lorsque vous souhaitez sélectionner le nom, sélectionnez simplement CONCAT_WS(' ', first_name, middle_name, last_name) AS full_name.
Notez que CONCAT renverra null si l'une des valeurs que vous concaténez est nulle, vous voudrez donc probablement utiliser CONCAT_WS (avec séparateur) à la place - si une valeur de la liste est nulle, elle omettra simplement cette valeur et utilisera les autres.
Vos déclencheurs pourraient ressembler à ceci si vous décidiez de le faire :
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;
J'espère que cela aide.