यदि ट्रिगर निष्पादन के दौरान कोई त्रुटि होती है, तो MySQL इसे निम्न प्रकार से संभालता है:
- यदि BEFORE ट्रिगर विफल होता है, तो संबंधित पंक्ति पर ऑपरेशन नहीं किया जाता है।
- एक BEFORE ट्रिगर पंक्ति को सम्मिलित या संशोधित करने के प्रयास से सक्रिय होता है, चाहे वह प्रयास बाद में सफल हो या नहीं।
- एक AFTER ट्रिगर केवल तभी निष्पादित होता है जब कोई BEFORE ट्रिगर और पंक्ति ऑपरेशन सफलतापूर्वक निष्पादित होते हैं।
- BEFORE या AFTER ट्रिगर के दौरान होने वाली त्रुटि के परिणामस्वरूप उस पूरे स्टेटमेंट की विफलता होती है जिसके कारण ट्रिगर आह्वान हुआ था।
- लेन-देनीय तालिकाओं के लिए, स्टेटमेंट की विफलता से उस स्टेटमेंट द्वारा किए गए सभी परिवर्तनों का रोलबैक होना चाहिए। ट्रिगर की विफलता से स्टेटमेंट विफल होता है, इसलिए ट्रिगर विफलता भी रोलबैक का कारण बनती है। गैर-लेन-देनीय तालिकाओं के लिए, ऐसा रोलबैक नहीं किया जा सकता, इसलिए भले ही स्टेटमेंट विफल हो, त्रुटि के बिंदु से पहले किए गए कोई भी परिवर्तन प्रभावी रहते हैं।