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

MySQL-এ DBA সেশন কিল করলে কারেন্ট ট্রানজ্যাকশনের Schicksাল

যদি ট্রানজ্যাকশনের মাঝপথে DBA KILL কমান্ড দিয়ে সেশন কিল করে, তবে MySQL কারেন্ট ট্রানজ্যাকশনকে রোলব্যাক করে এবং এন্ড করে। সকল ডাটাবেস পরিবর্তন মুছে যায়। এটিও ইম্পলিসিট রোলব্যাক।

উদাহরণ

mysql> Select * from marks; -- ৬ রো ডেটা আছে
mysql> START TRANSACTION;
mysql> Delete from marks where id = 4; -- ১ রো ডিলিট
Query OK, 1 row affected (0.00 sec)

আর একটি উইন্ডো খুলে SHOW PROCESSLIST দেখে প্রসেস আইডি (২) পাওয়া গেলে:

mysql> KILL 2;
Query OK, 0 rows affected (0.00 sec)

প্রথম উইন্ডোতে ফিরে COMMIT দিলে:

mysql> COMMIT;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 4
Query OK, 0 rows affected (1.01 sec)

KILL কমান্ড ট্রানজ্যাকশন রোলব্যাক বাধ্য করলো। ফলাফল:

mysql> Select * from marks; -- ID=4 এখনও আছে
+------+---------+-----------+-------+
| 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 |
+------+---------+-----------+-------+
  1. MySQL-এ <> অপারেটরের অর্থ এবং ব্যবহার

  2. MySQL DECIMAL(x,0) ডেটা টাইপের রেঞ্জ ও স্টোরেজ প্রয়োজনীয়তা

  3. MySQL-এ EXCEPT অপারেটরের বিকল্প (NOT IN)

  4. MySQL-এ Алиাস (Alias) এর শর্টহ্যান্ড সিনট্যাক্স