TO DO THERE THE TRIGGER EXIST, WHAT YOU SHOULD DO IS TO MAKE A TRIGGER BEFORE INSERT (BEFORE INSERTING) WHAT WE WILL DO IS ASSIGNING THE VALUE TO THE FIELD nombreusu THE RESULT OF CHANGE THE PARAMETERS USING NEW WHAT IS THE PSEUDO-REGISTRY THAT WE CAN ALLOW TO OBTAIN THE NEW VALUES THAT ARE INSERTED.
THE TRIGGER WOULD REMAIN IN THE FOLLOWING WAY:
CREATE TRIGGER user_before_insert
BEFORE INSERT ON usuarios
FOR EACH ROW
BEGIN
SET NEW.nombreusu = CONCAT(NEW.apellido1, NEW.apellido2, NEW.nombre1, NEW.nombre2, NEW.nombreusu);
END;
WE NOW MAKE AN INSERT TO THE TABLE:
INSERT INTO usuarios(id,apellido1,apellido2,nombre1,nombre2,nombreusu)VALUES (7,'AAA','BBB','CCC','DDD','')
WE NOW MAKE A SELECT TO THE TABLE:
SELECT * FROM usuarios;
THE RESULT IS THE FOLLOWING:
1 | AAA | BBB | CCC | DDD | AAABBBCCCDDD
NOTE: FOR IT TO FUNCTION CORRECTLY YOU MUST ASSIGN A VALUE FOR THE FIELD nombreusu AT THE TIME OF DOING THE INSERT INTO AS THE EXAMPLE UP YOU ARE ASSIGNED '', IF YOU DO NOT HAVE NO VALUE WILL BE KEPT LIKE (NULL).
GREETINGS!