Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

रेल लेनदेन

यदि आपके पास कोड का मिश्रण है जिसके लिए स्पष्ट लेनदेन और कोड की आवश्यकता है जो ऑटोोकॉमिट पर भरोसा कर सकता है, तो शायद आपको सभी कनेक्शनों के लिए ऑटोोकॉमिट को अक्षम नहीं करना चाहिए। आप सही रास्ते पर हैं सोच रहे हैं कि क्या यह अन्य कोड को प्रभावित करेगा। यदि आप ऑटोोकॉमिट को अक्षम करते हैं, लेकिन दूसरे कोड को यह नहीं पता है कि उसे अपना काम करने के लिए प्रतिबद्ध होना है, तो यह एक समस्या होगी। कनेक्शन बंद होने पर अप्रतिबद्ध कार्य वापस ले लिया जाता है।

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

यह अनावश्यक है MySQL में लेनदेन का उपयोग करने के लिए ऑटोकॉमिट मोड को अक्षम करने के लिए। बस स्पष्ट रूप से एक लेनदेन शुरू करें। निम्न SQL कथन तब तक लेन-देन का हिस्सा होंगे जब तक कि आप उस लेन-देन को प्रतिबद्ध या रोलबैक नहीं करते हैं, भले ही आपके वर्तमान कनेक्शन पर ऑटोकॉमिट का मूल्य कुछ भी हो।

http://dev.mysql.com/doc/refman/5.0 /en/commit.html कहते हैं:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. आपसी मित्रों के लिए SQL क्वेरी

  2. कैसे स्वचालित रूप से सभी संदर्भ पंक्तियों को हटाने के लिए अगर मूल पंक्ति mysql में हटा दी जाती है?

  3. Mysqli के साथ एक संयोजन कैसे सेट करें?

  4. खंड में अनुक्रमणिका का उपयोग नहीं कर रहा है

  5. Mysql MySQL या PHP पंक्तियों को गतिशील रूप से दो स्तंभों में बदलें