Conforme comentários :)
Você precisa de um
BEFORE INSERT
acionar. Nesse gatilho, você altera o registro antes que ele atinja o armazenamento permanente. Usando seu exemplo, esse gatilho seria definido assim:DELIMITER $$
CREATE TRIGGER moodle.update_lang
BEFORE INSERT
ON moodle.mdl_user FOR EACH ROW
BEGIN
SET NEW.lang='hu';
END$$
DELIMITER ;
O motivo pelo qual você não pode usar
UPDATE
na mesma tabela que o gatilho se refere é porque isso poderia (e iria) causar um loop infinito. Nota:Eu não testei isso, mas a julgar pelos seus comentários, parece estar funcionando. Boa sorte!