事务 commit / rollback
57.20 事务 commit / rollback
多条 SQL 作为一个整体:全成功 commit,出错 rollback。
PyMySQL 默认 autocommit=False,增删改后需 commit。
事务示例
import pymysql
conn = pymysql.connect(host='127.0.0.1', user='root', password='root', database='py_demo', charset='utf8mb4')
try:
with conn.cursor() as cur:
cur.execute('UPDATE students SET score=score+1')
conn.commit()
except Exception:
conn.rollback()
raise
finally:
conn.close()