নিম্নলিখিত উপায়গুলি যার সাহায্যে বর্তমান MySQL লেনদেন স্পষ্টভাবে শেষ করা যেতে পারে -
COMMIT কমান্ড দ্বারা
যদি আমরা COMMIT কমান্ড চালাই তাহলে বর্তমান লেনদেনটি স্পষ্টভাবে শেষ হয়ে যাবে। এই ক্ষেত্রে, পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ হবে৷
৷উদাহরণ
mysql> START TRANSACTION; Query OK, 0 rows affected (0.00 sec) mysql> INSERT INTO Marks Values(1, 'Aarav','Maths',50); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO Marks Values(2, 'Harshit','Maths',55); Query OK, 1 row affected (0.00 sec) mysql> COMMIT; Query OK, 0 rows affected (0.06 sec)
এই উদাহরণে, COMMIT বিবৃতি স্পষ্টভাবে লেনদেন শেষ করবে এবং পরিবর্তনগুলি সংরক্ষিত হবে৷
mysql> SELECT * FROM Marks; +------+---------+---------+-------+ | Id | Name | Subject | Marks | +------+---------+---------+-------+ | 1 | Aarav | Maths | 50 | | 2 | Harshit | Maths | 55 | +------+---------+---------+-------+ 2 rows in set (0.00 sec)
ROLLBACK কমান্ড দ্বারা
বর্তমান লেনদেনটি স্পষ্টভাবে শেষ হয়ে যাবে যদি আমরা ROLLBACK কমান্ডটি চালাই৷ এই ক্ষেত্রে, পরিবর্তনগুলি ফিরিয়ে আনা হবে৷
৷উদাহরণ
ধরুন আমাদের সারণী 'চিহ্ন'-এ নিম্নলিখিত ডেটা রয়েছে এবং আমরা লেনদেন এবং ROLLBACK কমান্ডটি নিম্নরূপ প্রয়োগ করেছি -
mysql> SELECT * FROM Marks; +------+---------+---------+-------+ | Id | Name | Subject | Marks | +------+---------+---------+-------+ | 1 | Aarav | Maths | 50 | | 2 | Harshit | Maths | 55 | +------+---------+---------+-------+ 2 rows in set (0.00 sec) mysql> START TRANSACTION; Query OK, 0 rows affected (0.00 sec) mysql> INSERT INTO Marks Values(3, 'Rahul','History',40); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO Marks Values(4, 'Yashraj','English',48); Query OK, 1 row affected (0.00 sec) 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 | +------+---------+---------+-------+ 2 rows in set (0.00 sec)