यदि सत्र ट्रांजैक्शन के बीच में KILL कमांड द्वारा समाप्त किया जाता है (DBA द्वारा), तो वर्तमान ट्रांजैक्शन MySQL द्वारा रोलबैक कर दिया जाता है। सभी डेटाबेस परिवर्तन हटा दिए जाते हैं। यह भी अंतर्निहित रोलबैक (implicit rollback) है।
उदाहरण - चरणबद्ध प्रदर्शन:
1. प्रारंभिक डेटा:
mysql> Select * from marks;
+------+---------+-----------+-------+
| Id | Name | Subject | Marks |
+------+---------+-----------+-------+
| 1 | Aarav | Maths | 50 |
| 1 | Harshit | Maths | 55 |
| 3 | Gaurav | Comp | 69 |
| 4 | Rahul | History | 40 |
| 5 | Yashraj | English | 48 |
| 6 | Manak | History | 70 |
+------+---------+-----------+-------+
2. ट्रांजैक्शन शुरू, DELETE ऑपरेशन:
mysql> START TRANSACTION;
mysql> Delete from marks where id = 4;
Query OK, 1 row affected (0.00 sec)
3. दूसरी विंडो से PROCESSLIST देखें और KILL करें:
mysql> SHOW PROCESSLIST\G
*************************** 1. row ***************************
Id: 2
User: root
Host: localhost:49303
db: query
Command: Sleep
Time: 22
State:
Info: NULL
*************************** 2. row ***************************
Id: 3
User: root
Host: localhost:49350
db: NULL
Command: Query
Time: 0
State: NULL
Info: show processlist
mysql> KILL 2; -- सत्र 2 (जहां ट्रांजैक्शन चल रहा था) को किल करें
Query OK, 0 rows affected (0.00 sec)
4. मूल सत्र पर वापस - COMMIT का प्रयास:
mysql> COMMIT;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 4
Current database: query
Query OK, 0 rows affected (1.01 sec)
5. अंतिम स्थिति - डिलीट रोलबैक हुआ:
mysql> Select * from marks;
+------+---------+-----------+-------+
| Id | Name | Subject | Marks |
+------+---------+-----------+-------+
| 1 | Aarav | Maths | 50 |
| 1 | Harshit | Maths | 55 |
| 3 | Gaurav | Comp | 69 |
| 4 | Rahul | History | 40 | -- डिलीट रद्द, पंक्ति बरकरार
| 5 | Yashraj | English | 48 |
| 6 | Manak | History | 70 |
+------+---------+-----------+-------+
मुख्य बिंदु:
KILLसत्र को जबरन समाप्त करता है- MySQL अनकमिटेड ट्रांजैक्शन का रोलबैक करता है
- पुन: कनेक्शन पर नया सत्र ID मिलता है
- यह व्यवहार डेटा अखंडता सुनिश्चित करता है - आंशिक कार्य कभी कमिट नहीं होता