Theo nhận xét :)
Bạn yêu cầu BEFORE INSERT
cò súng. Trong trình kích hoạt đó, bạn thay đổi bản ghi trước khi nó được lưu trữ vĩnh viễn. Sử dụng ví dụ của bạn, trình kích hoạt này sẽ được định nghĩa như sau:
DELIMITER $$
CREATE TRIGGER moodle.update_lang
BEFORE INSERT
ON moodle.mdl_user FOR EACH ROW
BEGIN
SET NEW.lang='hu';
END$$
DELIMITER ;
Lý do bạn không thể sử dụng UPDATE
trên cùng một bảng mà trình kích hoạt đề cập đến là vì điều đó có thể (và sẽ) gây ra một vòng lặp vô hạn.
Lưu ý:Tôi chưa thử nghiệm điều này, nhưng theo nhận xét của bạn, nó có vẻ đang hoạt động. Chúc bạn thành công!