Můžete vytvořit PŘED INSERT trigger a BEFORE UPDATE trigger nastavit pole jména na hodnotu CONCAT_WS(' ', jméno, prostřední_jméno, příjmení) následovně... ale nedělejte to. Je to hrozná představa. Sloupec názvu vůbec neukládejte. Když chcete vybrat jméno, stačí vybrat CONCAT_WS(' ', jméno, prostřední_jméno, příjmení) JAKO celé jméno.
Všimněte si, že CONCAT vrátí hodnotu null, pokud je některá z hodnot, které spojujete, null, takže pravděpodobně budete chtít místo toho použít CONCAT_WS (s oddělovačem) - pokud je některá hodnota v seznamu null, pouze tuto hodnotu vynechá a použije zbývající.
Vaše spouštěče mohou vypadat nějak takto, pokud jste se to rozhodli:
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;
Doufám, že to pomůže.