पुराने mysql एक्सटेंशन में विशेष रूप से लेनदेन नियंत्रण के लिए कार्य नहीं हैं, लेकिन आप जो चाहते हैं उसे करने के लिए आप SQL कथन जारी कर सकते हैं।
आप केवल एक लेन-देन शुरू करके एक लेन-देन की अवधि के लिए स्वत:प्रतिबद्धता बंद कर सकते हैं:
mysql_query("START TRANSACTION");
जैसे ही आप COMMIT या ROLLBACK करते हैं, ऑटोकॉमिट मोड डिफ़ॉल्ट पर वापस आ जाएगा।
mysql_query("COMMIT"); // or ROLLBACK
आप सत्र चर सेट करके अपने पूरे सत्र के लिए स्वत:प्रतिबद्धता बंद कर सकते हैं:
mysql_query("SET autocommit=0");
या इसे अपने MySQL उदाहरण पर विश्व स्तर पर बदलें ताकि यह सभी सत्रों के लिए डिफ़ॉल्ट को बदल दे:
mysql_query("SET GLOBAL autocommit=0");
या इसे /etc/my.cnf संपादित करके MySQL सेवा स्टार्टअप पर वैश्विक सेटिंग बदलने के लिए सेट करें:
[mysqld]
autocommit=0
यदि आप MySQL 5.1 का उपयोग करते हैं, तो आपको इसे थोड़ा अलग तरीके से करना होगा:
[mysqld]
init_connect='SET autocommit=0'
आप शायद पहले से ही जानते हैं, लेकिन यह दोहराता है कि लेन-देन का मतलब केवल तभी होता है जब आप InnoDB तालिकाओं का उपयोग कर रहे हों। MyISAM तालिकाएँ लेन-देन का समर्थन नहीं करती हैं, इसलिए आपकी सेटिंग्स पर ध्यान दिए बिना वे हमेशा स्वत:प्रतिबद्ध होती हैं। मेमोरी और सीएसवी सहित कई अन्य स्टोरेज इंजनों के साथ भी ऐसा ही है।