ใช้คำสั่ง ROLLBACK เพื่อยกเลิกการเปลี่ยนแปลงที่ทำในธุรกรรม (transaction) ปัจจุบันออกจากฐานข้อมูลอย่างถาวร หากรันคำสั่ง DML (INSERT, UPDATE, DELETE) แล้วข้อมูลเปลี่ยนแปลง คำสั่ง ROLLBACK จะเรียกคืนสภาพเดิมก่อนธุรกรรมเริ่มต้น
ตัวอย่าง
สมมติตาราง marks มีข้อมูลดังนี้ แล้วเริ่มธุรกรรมและทำการ INSERT แล้ว 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)
ข้อมูลกลับสู่สภาพเดิม ไม่มีแถวที่เพิ่ง INSERT เข้าไป