Du kan oprette en FØR INSERT-trigger og en FØR OPDATERING-trigger for at indstille navnefeltet til værdien CONCAT_WS(' ', fornavn, mellemnavn, efternavn) som følger... men gør det ikke. Det er en frygtelig idé. Gem slet ikke navnekolonnen. Når du vil vælge navnet, skal du blot vælge CONCAT_WS(' ', fornavn, mellemnavn, efternavn) AS fuldt_navn.
Bemærk, at CONCAT vil returnere null, hvis nogen af de værdier, du sammensætter, er null, så du vil sandsynligvis bruge CONCAT_WS (med separator) i stedet - hvis en værdi på listen er null, vil den bare udelade den værdi og bruge de resterende.
Dine triggere kan se sådan ud, hvis du beslutter dig for at gøre det:
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;
Jeg håber, det hjælper.