start_transaction¶
- classmethod AsyncDataTableDeepModelKingBase.start_transaction(cls, flatten=False)¶
开启事务
上下文管理器,使用with语法开启上下文,上下文中的sql将作为事务执行。 退出with语句块后,事务将立即执行,执行过程中如果报错会直接抛出, 执行结果可通过
transaction_result
查询。示例
tbl = DataTableMySQL('table_example') t = tbl.table async with tbl.start_transaction(): await tbl.insert({'key': 101, 'value': 'txn'}) await tbl.update({'value': 'new_txn'}, where=t.key == 101) await tbl.delete(where=t.key >= 99) result = tbl.transaction_result
- 参数
flatten (
bool
) – 是否拉平嵌套事务,如果开启,嵌套的事务将会作为一个事务执行