ถ้า Session ถูก Kill ระหว่าง Transaction MySQL จะ Rollback Implicit ลบการเปลี่ยนแปลงทั้งหมด
ตัวอย่าง
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 | +------+---------+-----------+-------+ 6 rows in set (0.00 sec) mysql> START TRANSACTION; mysql> Delete from marks where id = 4; Query OK, 1 row affected (0.00 sec)
หน้าต่างอื่น รัน SHOW PROCESSLIST หา Process ID แล้ว KILL:
mysql> KILL 2; Query OK, 0 rows affected (0.00 sec)
กลับมาที่ Transaction เดิม รัน 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)
KILL บังคับ Rollback ตรวจสอบตาราง marks แถว id=4 ยังอยู่ (ไม่ถูกลบ):
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 | +------+---------+-----------+-------+ 6 rows in set (0.00 sec)