Puoi creare un PRIMA INSERT trigger e un PRIMA AGGIORNAMENTO trigger per impostare il campo del nome sul valore di CONCAT_WS(' ', first_name, secondo_name, last_name) come segue... ma non farlo. È un'idea terribile. Non memorizzare affatto la colonna del nome. Quando vuoi selezionare il nome, seleziona CONCAT_WS(' ', first_name, secondo_name, last_name) AS full_name.
Nota che CONCAT restituirà null se uno qualsiasi dei valori che stai concatenando è nullo, quindi probabilmente vorrai utilizzare CONCAT_WS (con separatore) invece - se un valore nell'elenco è nullo ometterà semplicemente quel valore e utilizzerà quelli rimanenti.
I tuoi trigger potrebbero assomigliare a questo se decidessi di farlo:
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;
Spero di esserti stato d'aiuto.