नहीं, जैसे ही कोई त्रुटि होती है, लेन-देन वापस नहीं लिया जाता है। लेकिन आप क्लाइंट-एप्लिकेशन का उपयोग कर रहे होंगे जो इस नीति को लागू करता है।
उदाहरण के लिए, यदि आप mysql कमांड-लाइन क्लाइंट का उपयोग कर रहे हैं, तो यह सामान्य रूप से एक त्रुटि होने पर निष्पादित करना बंद कर देता है और छोड़ देगा। लेन-देन के जारी रहने के दौरान छोड़ने से वह वापस लुढ़क जाता है।
जब आप अपना खुद का आवेदन लिख रहे हों, तो आप रोलबैक पर नीति को नियंत्रित कर सकते हैं, लेकिन कुछ अपवाद हैं:
- छोड़ना (यानी डेटाबेस से डिस्कनेक्ट करना) हमेशा चल रहे लेनदेन को वापस ले लेता है
- एक गतिरोध या लॉक-वेट टाइमआउट परोक्ष रूप से रोलबैक का कारण बनता है
इन शर्तों के अलावा, यदि आप एक आदेश का आह्वान करते हैं जो त्रुटि उत्पन्न करता है, तो त्रुटि सामान्य रूप से वापस आ जाती है, और आप किसी भी तरह से लेनदेन करने सहित, जो कुछ भी करना चाहते हैं, करने के लिए स्वतंत्र हैं।