Transaction
TiDB supports ACID transactions, which ensure data consistency and reliability.
Basic Usage
with db.session() as session:
initial_total_balance = session.query("SELECT SUM(balance) FROM players").scalar()
# Transfer 10 coins from player 1 to player 2
session.execute("UPDATE players SET balance = balance - 10 WHERE id = 1")
session.execute("UPDATE players SET balance = balance + 10 WHERE id = 2")
session.commit()
# or session.rollback()
final_total_balance = session.query("SELECT SUM(balance) FROM players").scalar()
assert final_total_balance == initial_total_balance