मुझे लगता है कि यह कहीं अधिक संभावना है कि आप एक अनकही त्रुटि का सामना कर रहे हैं, बजाय इसके कि ट्रिगर निष्पादित नहीं हो रहा है, खासकर जब से यह कंसोल से सफलतापूर्वक निष्पादित होता है।
आपको यह अलग करना होगा कि त्रुटि कहाँ होती है - ट्रिगर में ही, या कॉलिंग स्क्रिप्ट में।
अपनी पायथन लिपि में, SQL कथन का प्रिंट आउट लें, जिसे पायथन MySQL को निष्पादन के लिए भेजता है ताकि यह सुनिश्चित हो सके कि यह आपकी अपेक्षा के अनुरूप बनाया गया है - उदाहरण के लिए, यदि NEW.type 'PRE' के बराबर नहीं है, तो ट्रिगर निष्पादित हो जाएगा, लेकिन किसी भी अपडेट का परिणाम नहीं होगा।
यह भी सुनिश्चित करें कि आप इन्सर्ट में त्रुटियों की जाँच कर रहे हैं। मैं अजगर प्रोग्रामर नहीं हूं, इसलिए मैं आपको यह नहीं बता सकता कि यह कैसे किया जाता है, लेकिन यह ऐसा लगता है कि आप जो खोज रहे हैं।
यदि इनमें से कोई भी आपको समस्या की ओर नहीं ले जाता है, तो संपूर्ण if (NEW.type = 'PRE') THEN
पर टिप्पणी करें ब्लॉक करें और एक साधारण संशोधन करें, जैसे NEW.type को 'डीबग' पर सेट करना। यह सुनिश्चित करने के बाद कि ट्रिगर वास्तव में निष्पादित होता है, जब तक आप समस्या को अलग नहीं करते हैं, तब तक अधिक वास्तविक कोड के साथ क्रमिक रूप से पुन:परीक्षण करें।
साथ ही, मार्कोस ने टिप्पणी की, मुझे आश्चर्य होगा कि अगर स्क्रिप्ट सफलतापूर्वक पूरा होने पर ऑटो-प्रतिबद्ध नहीं होती है। दरअसल, मैं यह बयान किसी भी लिपि/भाषा के बारे में बताऊंगा।