কম্পিউটার টিউটোরিয়াল

চলমান MySQL ট্রানজ্যাকশনের মাঝপথে START TRANSACTION চালু করলে কী হয়?


চলমান ট্রানজ্যাকশনের মাঝপথে START TRANSACTION এক্সিকিউট করলে বর্তমান ট্রানজ্যাকশন কমিট হয়ে শেষ হয়। বর্তমান ট্রানজ্যাকশনে করা সকল ডাটাবেস পরিবর্তন স্থায়ী হয়ে যায়। এটাকে START TRANSACTION কমান্ডের ইমপ্লিসিট কমিট বলা হয়।

উদাহরণ

মান লিইয়ে 'marks' টেবিলে নিচের মান আছে:

mysql> select * from marks; 
+------+---------+-----------+-------+
| Id   | Name    | Subject   | Marks |
+------+---------+-----------+-------+
| 1    | Aarav   | Maths     | 50    |
| 1    | Harshit | Maths     | 55    |
| 3    | Gaurav  | Comp      | 69    |
+------+---------+-----------+-------+
3 rows in set (0.00 sec)
mysql> START TRANSACTION; 
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO Marks Values(4, 'Rahul','History',40); 
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO Marks Values(5, 'Yashraj','English',48); 
Query OK, 1 row affected (0.00 sec)
mysql> START TRANSACTION; 
Query OK, 0 rows affected (0.00 sec)

এই উদাহরণে দেখা যাচ্ছে যে, চলমান ট্রানজ্যাকশনের মাঝপথে START TRANSACTION এক্সিকিউট করলে তা বর্তমান ট্রানজ্যাকশনকে ইমপ্লিসিটভাবে শেষ করে এবং পরিবর্তনগুলো কমিট হয়।

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    |
+------+---------+-----------+-------+
5 rows in set (0.00 sec)

  1. MySQL 8.0-এ সরানো ফিচারগুলো (Removed Features)

  2. MySQL 8.0-এ ডিপ্রিকেটেড (Deprecated) ফিচারগুলো

  3. MySQL 8.0-এ যোগ করা নতুন ফিচারগুলো

  4. MySQL 8.0-এ কী অপশন ও ভেরিয়েবল সরানো হয়েছে?