事务控制¶
自动提交(默认)¶
engine = Engine(
url="mysql://root:pass@127.0.0.1:3306/",
auto_commit=True # 默认值
)
await engine.connect()
# 自动提交
result = await engine.execute("INSERT INTO users (name) VALUES (%s)", ("张三",))
手动提交¶
engine = Engine(
url="mysql://root:pass@127.0.0.1:3306/",
auto_commit=False
)
await engine.connect()
# 不自动提交
result = await engine.execute(
"INSERT INTO users (name) VALUES (%s)",
("张三",),
commit=False
)
# 手动提交
await result.close() # 需要手动管理连接
注意事项¶
v2 版本的事务管理需要手动控制连接。建议在生产环境中根据实际需求选择合适的提交策略。