说我愿意:
with my_connection:
o.first_call()
其中my_connection
的__exit__
方法调用回滚
和o.first_call
在其执行中调用j.second_call
,它本身调用z.third_call
。假设z.third_call
成功地在数据库中插入了一条记录,j.second_call
也成功地插入了一条记录,但是{o.first_call
和{
编辑:为了清楚起见,我希望在我打电话给o.first_call
之前,所有的事情都能恢复到原来的状态
编辑2:我希望在__enter__
中我能做些什么,比如说某种上下文,看看什么叫什么都是一个大交易。在
事务将回滚到最后一个
commit
调用。在根据Database API Specification v2.0:
所以这取决于你所说的“成功插入”是什么意思。如果插入是通过调用
commit
完成的,则回滚不会删除插入。但是,如果没有提交,则插入操作将回滚。在相关问题 更多 >
编程相关推荐