टिप्पणियों के अनुसार :)
आपको 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
का उपयोग नहीं कर सकते हैं उसी तालिका पर जो ट्रिगर को संदर्भित करता है क्योंकि वह (और होगा) एक अनंत लूप का कारण बन सकता है।
नोट:मैंने इसका परीक्षण नहीं किया है, लेकिन आपकी टिप्पणियों को देखते हुए ऐसा लगता है कि यह काम कर रहा है। शुभकामनाएँ!