Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Gatilho Mysql para atualizar a linha inserida


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!