Selon les commentaires :)
Vous avez besoin d'un BEFORE INSERT
gâchette. Dans ce déclencheur, vous modifiez l'enregistrement avant qu'il n'atteigne le stockage permanent. En utilisant votre exemple, ce déclencheur serait défini comme ceci :
DELIMITER $$
CREATE TRIGGER moodle.update_lang
BEFORE INSERT
ON moodle.mdl_user FOR EACH ROW
BEGIN
SET NEW.lang='hu';
END$$
DELIMITER ;
La raison pour laquelle vous ne pouvez pas utiliser UPDATE
sur la même table à laquelle le déclencheur fait référence est parce que cela pourrait (et provoquerait) une boucle infinie.
Remarque :Je n'ai pas testé cela, mais à en juger par vos commentaires, cela semble fonctionner. Bonne chance !