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