เราสามารถใช้คำสั่ง ROLLBACK เพื่อกำจัดการเปลี่ยนแปลงที่ทำในธุรกรรมปัจจุบันอย่างถาวรจากฐานข้อมูล MySQL สมมติว่าถ้าเราเรียกใช้คำสั่ง DML และอัปเดตวัตถุข้อมูลบางรายการ คำสั่ง 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)
ในตัวอย่างนี้ คำสั่ง ROLLBACK จะยุติธุรกรรมอย่างชัดเจน และการเปลี่ยนแปลงจะถูกย้อนกลับ กล่าวคือ ถูกกำจัดออกจากฐานข้อมูลอย่างถาวร
mysql> SELECT * FROM Marks; +------+---------+---------+-------+ | Id | Name | Subject | Marks | +------+---------+---------+-------+ | 1 | Aarav | Maths | 50 | | 2 | Harshit | Maths | 55 | +------+---------+---------+-------+ 2 rows in set (0.00 sec)