Du kan skapa en INNAN INSERT-trigger och en BEFORE UPDATE-utlösare för att ställa in namnfältet till värdet CONCAT_WS(' ', first_name, middle_name, last_name) enligt följande... men gör inte det. Det är en hemsk idé. Lagra inte namnkolumnen alls. När du vill välja namnet, välj bara CONCAT_WS(' ', first_name, middle_name, last_name) AS full_name.
Observera att CONCAT kommer att returnera null om något av värdena du sammanfogar är null så du vill förmodligen använda CONCAT_WS (med separator) istället - om något värde i listan är null kommer det bara att utelämna det värdet och använda de återstående.
Dina utlösare kan se ut ungefär så här om du bestämmer dig för att göra 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;
Jag hoppas att det hjälper.