เปรียบเทียบ COMMIT และ ROLLBACK ใน SQL
COMMIT
- ยืนยันการเปลี่ยนแปลงจาก Transaction ปัจจุบัน
- หลัง COMMIT -> ไม่สามารถ ROLLBACK กลับได้
- เกิดเมื่อ Transaction สำเร็จ
COMMIT;
ROLLBACK
- ยกเลิกการเปลี่ยนแปลงจาก Transaction ปัจจุบัน
- หลัง ROLLBACK -> Database กลับสู่สถานะก่อน Transaction (Statement แรก)
- เกิดเมื่อ Transaction ถูกยกเลิกระหว่างการทำงาน
ROLLBACK;
สรุป
| คุณสมบัติ | COMMIT | ROLLBACK |
|---|---|---|
| การทำงาน | ยืนยันการเปลี่ยนแปลง | ยกเลิกการเปลี่ยนแปลง |
| สถานะหลังรัน | Permanent | กลับสู่ก่อน Transaction |
| เวลาทำงาน | Transaction สำเร็จ | Transaction ล้มเหลว/ยกเลิก |
| สามารถ Undo ได้ไหม | ไม่ได้ | N/A (เป็นการ Undo เอง) |