コメントによると:)
BEFORE INSERT
が必要です 引き金。そのトリガーでは、レコードが永続ストレージに到達する前にレコードを変更します。あなたの例を使用すると、このトリガーは次のように定義されます:
DELIMITER $$
CREATE TRIGGER moodle.update_lang
BEFORE INSERT
ON moodle.mdl_user FOR EACH ROW
BEGIN
SET NEW.lang='hu';
END$$
DELIMITER ;
UPDATE
を使用できない理由 トリガーが参照するのと同じテーブルで、それが無限ループを引き起こす可能性がある(そして引き起こす)ためです。
注:これはテストしていませんが、コメントから判断すると、機能しているようです。頑張ってください!