comment créer déclencheur pour faire la concaténation des champs
J'ai 1 table comme ceci:
user
----------------------------------------
id | first_name | last_name | full_name
----------------------------------------
Je veux écrire un déclencheur qui concat la first_name et last_name à full_name.
J'ai essayé ci-dessous déclencheur :
delimiter |
create trigger fullname after insert on user
for each row
begin
update user set full_name=(select concat(first_name,last_name) from user where id=new.id)where id=new.id;
end;
|
Il affiche ce message d'erreur lors de l'insertion de données à l'utilisateur de table:
#1442 - Can't update table 'user' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
Vérifiez ceci: stackoverflow.com/questions/12877732/...
OriginalL'auteur Harjeet Jadeja | 2013-03-16
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas modifier une table pendant que le déclencheur d'INSERTION est de la cuisson. Toutefois, vous pouvez créer un déclencheur avant d'insérer l'enregistrement.
OriginalL'auteur John Woo
Pour votre cas, je tiens à vous suggérons d'utiliser la colonne au lieu de déclencher, à cause de déclenchement vous avez besoin pour créer pour insérer/mettre à jour;
J'espère que cela peut vous aider.