Transactions เป็นกลไกที่รับประกันความสอดคล้องของข้อมูล (data consistency) ธุรกรรมมีคุณสมบัติ 4 ข้อ (ACID):
- Atomicity - ธุรกรรมทำสำเร็จหรือไม่เกิดอะไรขึ้นเลย
- Consistency - ธุรกรรมต้องเริ่มในสถานะสอดคล้องและทิ้งระบบไว้ในสถานะสอดคล้อง
- Isolation - ผลลัพธ์ระหว่างทางของธุรกรรมไม่มองเห็นได้ภายนอกธุรกรรมปัจจุบัน
- Durability - เมื่อธุรกรรมถูก commit แล้ว ผลผลกระทบจะคงอยู่ถาวร แม้ระบบล้มเหลว
Python DB API 2.0 มีเมธอด 2 ตัวสำหรับ commit หรือ rollback ธุรกรรม
ตัวอย่างโค้ด
# Prepare SQL query to DELETE required records
sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20)
try:
# Execute the SQL command
cursor.execute(sql)
# Commit your changes in the database
db.commit()
except:
# Rollback in case there is any error
db.rollback()