यदि आपके पास कोड का मिश्रण है जिसके लिए स्पष्ट लेनदेन और कोड की आवश्यकता है जो ऑटोोकॉमिट पर भरोसा कर सकता है, तो शायद आपको सभी कनेक्शनों के लिए ऑटोोकॉमिट को अक्षम नहीं करना चाहिए। आप सही रास्ते पर हैं सोच रहे हैं कि क्या यह अन्य कोड को प्रभावित करेगा। यदि आप ऑटोोकॉमिट को अक्षम करते हैं, लेकिन दूसरे कोड को यह नहीं पता है कि उसे अपना काम करने के लिए प्रतिबद्ध होना है, तो यह एक समस्या होगी। कनेक्शन बंद होने पर अप्रतिबद्ध कार्य वापस ले लिया जाता है।
आपको पता होना चाहिए कि MySQL के लिए डिफ़ॉल्ट स्टोरेज इंजन माईसाम , जो लेनदेन का बिल्कुल भी समर्थन नहीं करता है। जब आप MyISAM का उपयोग करने वाली तालिका में परिवर्तन करते हैं, तो लेन-देन शुरू करने और समाप्त करने के आपके स्पष्ट अनुरोधों की परवाह किए बिना, और स्वत:प्रतिबद्धता की स्थिति की परवाह किए बिना, परिवर्तन तुरंत प्रभावी रूप से प्रतिबद्ध हैं। इसलिए जब तक आप InnoDB स्टोरेज इंजन (या अन्य लेन-देन-सुरक्षित स्टोरेज इंजन जैसे बीडीबी )।
यह अनावश्यक है MySQL में लेनदेन का उपयोग करने के लिए ऑटोकॉमिट मोड को अक्षम करने के लिए। बस स्पष्ट रूप से एक लेनदेन शुरू करें। निम्न SQL कथन तब तक लेन-देन का हिस्सा होंगे जब तक कि आप उस लेन-देन को प्रतिबद्ध या रोलबैक नहीं करते हैं, भले ही आपके वर्तमान कनेक्शन पर ऑटोकॉमिट का मूल्य कुछ भी हो।
http://dev.mysql.com/doc/refman/5.0 /en/commit.html कहते हैं: