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

MySQL में वर्तमान ट्रांजैक्शन को स्पष्ट (Explicit) रूप से कैसे समाप्त करें?

वर्तमान MySQL ट्रांजैक्शन को स्पष्ट रूप से समाप्त करने के दो तरीके हैं:

1. COMMIT कमांड द्वारा - परिवर्तन सेव करें

mysql> START TRANSACTION;
mysql> INSERT INTO Marks Values(1, 'Aarav','Maths',50);
mysql> INSERT INTO Marks Values(2, 'Harshit','Maths',55);
mysql> COMMIT;
Query OK, 0 rows affected (0.06 sec)

-- परिणाम: डेटा स्थायी रूप से सेव
mysql> SELECT * FROM Marks;
+------+---------+---------+-------+
| Id   | Name    | Subject | Marks |
+------+---------+---------+-------+
| 1    | Aarav   | Maths   | 50    |
| 2    | Harshit | Maths   | 55    |
+------+---------+---------+-------+

2. ROLLBACK कमांड द्वारा - परिवर्तन रद्द करें

-- मान लें टेबल में पहले से 2 रिकॉर्ड हैं
mysql> SELECT * FROM Marks;
+------+---------+---------+-------+
| Id   | Name    | Subject | Marks |
+------+---------+---------+-------+
| 1    | Aarav   | Maths   | 50    |
| 2    | Harshit | Maths   | 55    |
+------+---------+---------+-------+

mysql> START TRANSACTION;
mysql> INSERT INTO Marks Values(3, 'Rahul','History',40);
mysql> INSERT INTO Marks Values(4, 'Yashraj','English',48);
mysql> ROLLBACK;
Query OK, 0 rows affected (0.04 sec)

-- परिणाम: नए रिकॉर्ड रद्द, टेबल अपरिवर्तित
mysql> SELECT * FROM Marks;
+------+---------+---------+-------+
| Id   | Name    | Subject | Marks |
+------+---------+---------+-------+
| 1    | Aarav   | Maths   | 50    |
| 2    | Harshit | Maths   | 55    |
+------+---------+---------+-------+

तुलना:

कमांडप्रभावउपयोग केस
COMMITसभी परिवर्तन स्थायीसभी ऑपरेशन सफल
ROLLBACKसभी परिवर्तन रद्दकोई त्रुटि, उपयोगकर्ता रद्द, व्यावसायिक नियम विफल

सर्वोत्तम अभ्यास: एप्लिकेशन कोड में try-catch-finally पैटर्न उपयोग करें:

try {
    START TRANSACTION;
    // SQL ऑपरेशंस
    COMMIT;
} catch (Exception e) {
    ROLLBACK;
    throw e;
}
  1. - वर्तमान MySQL ट्रांजैक्शन आइसोलेशन लेवल कैसे चेक करें?

    SELECT @@TX_ISOLATION कमांड निष्पादित करके हम वर्तमान MySQL ट्रांजैक्शन आइसोलेशन लेवल चेक कर सकते हैं। उदाहरण mysql> SELECT @@TX_ISOLATION; +-----------------+ | @@TX_ISOLATION  | +-----------------+ | REPEATABLE-READ | +-----------------+ 1 row in set (0.00 sec)

  1. - MySQL रूट यूजर के पूर्ण विशेषाधिकार कैसे पुनर्स्थापित करें

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

  1. MySQL में अलग यूजर के रूप में लॉगिन कैसे करें? MySQL में अलग यूजर के रूप में लॉगिन कैसे करें?

    कमांड लाइन से अलग यूजर के रूप में MySQL लॉगिन मौजूदा यूजर के रूप में लॉगिन करने के लिए: mysql -u yourUsername -p Enter दबाने के बाद पासवर्ड दर्ज करें। नया यूजर बनाना और लॉगिन करना 1. यूजर बनाएं CREATE USER John@localhost IDENTIFIED BY john123456; 2. यूजर वेरीफाई करें SELECT user FROM mysql.user