谁一开始就是大神?

事务中的rollback方法可以省略吗[2.0]

$transaction = Customer::getDb()->beginTransaction();
try {
    $customer = new Customer();
    $customer->id = 1;
    $customer->save();
    
    $customer = new Customer();
    $customer->id = 2;
    $customer->save();
    
    $customer = new Customer();
    $customer->id = 3;
    $customer->save();
    
    $transaction->commit();
} catch(\Exception $e) {
    $transaction->rollBack();
    throw $e;
}

如上代码,$transaction->rollBack(); 这行代码感觉可有可无,去掉之后,如果数据库执行异常了,所有try里面的数据库操作都不会被执行

请求中不提交的话,下次 事务提交会把这次的sql提交掉的,具体的细节你可以搜一下。
三条数据,其中一条发生错误,ROLLBACK的话,其余两条数据也会被回滚,我是这么理解的
应该不可以的
不可以的,否则没办法

赞(0) 打赏
未经允许不得转载:菜鸟之家 » 事务中的rollback方法可以省略吗[2.0]

评论 抢沙发

登录

找回密码

注册