取引
TiDB は、データの一貫性と信頼性を確保するためにACIDトランザクションをサポートします。
基本的な使い方
with client.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