我们需要多次打开交易还是只需要开始一次?

时间:2017-06-22 14:19:52

标签: sql transactions

哪种方法最好在python或laravel php的情况下使用,或者只要我们使用事务,提交,滚动概念就不管它是什么技术......

- 方法1 -

open transaction

execute sql code 1
commit or rollback

execute sql code 2
commit or rollback

close transaction

- 方法2 -

open transaction
execute sql code 1    
commit or rollback
close transaction

open transaction
execute sql code 2    
commit or rollback
close transaction

1 个答案:

答案 0 :(得分:1)

事务是一种原子操作,意味着它可以完全成功或完全失败 当您有两个或多个相互依赖的语句时,您可以使用事务 - 例如,如果您有一个销售数据库并且您想要添加包含项目的订单,则通常会使用单个事务来添加订单及其全部#39; s项目 - 因此,如果您未能插入项目,则整个订单将不会插入到数据库中。

如果您的陈述是独立的,则根本不需要明确的交易。

BTW,您只能提交或回滚一次事务,因此第一个示例中的伪代码将失败,因为您尝试两次提交/回滚同一事务。