Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

कोई उपयोगकर्ता वर्तमान MySQL लेनदेन को परोक्ष रूप से कैसे समाप्त कर सकता है?


निम्नलिखित तरीके हैं जिनकी सहायता से वर्तमान MySQL लेनदेन को परोक्ष रूप से समाप्त किया जा सकता है -

डीडीएल स्टेटमेंट चलाकर

वर्तमान MySQL लेनदेन परोक्ष रूप से समाप्त हो जाएगा और किसी भी DDL स्टेटमेंट जैसे CREATE या DROP डेटाबेस, क्रिएट, ALTER या DROP टेबल या स्टोर किए गए रूटीन को चलाकर परिवर्तन किए जाएंगे। ऐसा इसलिए है क्योंकि, MySQL में, इन कथनों को वापस नहीं लाया जा सकता है।

उदाहरण

mysql> START TRANSACTION;क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड)mysql> INSERT INTO MARKS Values(3,'गौरव', 'Comp',69);क्वेरी ओके, 1 पंक्ति प्रभावित (0.26 सेकंड) mysql> तालिका छात्र बनाएं (आईडी int, नाम वर्चर (10),); क्वेरी ठीक है, 0 पंक्तियां प्रभावित (0.84 सेकेंड) 

लेन-देन के बीच में हम एक DDL स्टेटमेंट चलाते हैं इसलिए यह ट्रांजेक्शन परोक्ष रूप से समाप्त हो जाएगा। MySQL सभी परिवर्तनों को सहेज लेगा और इसे वापस नहीं लाया जा सकता है। हम इसे निम्नलिखित परिणाम सेट की सहायता से देख सकते हैं -

mysql> रोलबैक;क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड)mysql> मार्क्स से * चुनें;+------+--------+---------- ---+----------+| आईडी | नाम | विषय | मार्क्स |+----------+------------+----------+----------+| 1 | आरव | गणित | 50 || 1 | हर्षित | गणित | 55 || 3 | गौरव | कॉम्प | 69 |+----------+------------+-----------+----------+3 पंक्तियों में सेट (0.00 सेकंड) 

क्लाइंट सत्र को डिस्कनेक्ट करके

क्लाइंट सत्र को डिस्कनेक्ट करने से वर्तमान सत्र समाप्त हो जाएगा और इस मामले में, परिवर्तन वापस ले लिए जाएंगे।

क्लाइंट सत्र को समाप्त करके

क्लाइंट सत्र को समाप्त करने से वर्तमान सत्र भी अप्रत्यक्ष रूप से समाप्त हो जाएगा और इस मामले में, परिवर्तन भी वापस ले लिए जाएंगे।

START TRANSACTION कमांड द्वारा

यदि हम START TRANSACTION कमांड चलाएंगे तो वर्तमान लेनदेन परोक्ष रूप से समाप्त हो जाएगा। इस मामले में, परिवर्तन किए जाएंगे।

उदाहरण

mysql> START TRANSACTION;क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड)mysql> INSERT INTO Marks Value(4, 'Rahul','History',40);क्वेरी ओके, 1 पंक्ति प्रभावित (0.00 सेकंड)mysql> INSERT INTO Marks Value(5, 'Yashraj','English',48);क्वेरी ओके, 1 रो प्रभावित (0.00 सेकंड)mysql> स्टार्ट ट्रांजेक्शन;क्वेरी ओके, 0 रो प्रभावित (0.00 सेकेंड)

इस उदाहरण में, START TRANSACTION कथन लेन-देन को परोक्ष रूप से समाप्त कर देगा और परिवर्तन किए जाएंगे।

mysql> मार्क्स में से * चुनें; आईडी | नाम | विषय | मार्क्स |+----------+------------+----------+----------+| 1 | आरव | गणित | 50 || 1 | हर्षित | गणित | 55 || 3 | गौरव | कॉम्प | 69 || 4 | राहुल | इतिहास | 40 || 5 | यशराज | अंग्रेज़ी | 48 |+----------+---------+-----------+----------+5 पंक्तियाँ सेट में (0.00 सेकंड) 
  1. हम वर्तमान MySQL लेनदेन अलगाव स्तर की जांच कैसे कर सकते हैं?

    निष्पादित करके चुनें @@TX_ISOLATION आदेश हम वर्तमान MySQL लेनदेन अलगाव स्तर की जांच कर सकते हैं। उदाहरण @@TX_ISOLATION चुनें;+---------------------+| @@TX_ISOLATION |+-----------------+| दोहराने योग्य-पढ़ें |+-----------------+1 पंक्ति सेट में (0.00 सेकंड)

  1. मैं MySQL रूट उपयोगकर्ता के पूर्ण विशेषाधिकारों को कैसे पुनर्स्थापित कर सकता हूं?

    हम अद्यतन कमांड की मदद से MySQL रूट उपयोगकर्ता के पूर्ण विशेषाधिकारों को पुनर्स्थापित कर सकते हैं। सबसे पहले, आपको mysqld . को रोकना होगा और इसे --स्किप-ग्रांट-टेबल . के साथ पुनः प्रारंभ करें विकल्प। उसके बाद, केवल mysql . के साथ mysqld सर्वर से कनेक्ट करें (अर्थात no -p विकल्प, और उपयोगकर्ता नाम क

  1. MySQL पर किसी भिन्न उपयोगकर्ता के रूप में लॉग इन कैसे करें?

    यदि आप MySQL पर एक अलग उपयोगकर्ता के रूप में लॉगिन करना चाहते हैं, तो आपको mysql -u -p कमांड का उपयोग करना होगा। एक अलग उपयोगकर्ता के रूप में लॉगिन करने के लिए सिंटैक्स निम्नानुसार है। mysql -u yourUsername -p एंटर की दबाने के बाद पासवर्ड डालें - उपरोक्त सिंटैक्स को समझने के लिए, आइए MySQL में एक यू