Php 在使用mysql事务时,我们可以进行多次回滚吗
在一个事务中可以有多个回滚语句吗?对于您的代码,根据条件,只执行一个回滚。您可以编写多个Php 在使用mysql事务时,我们可以进行多次回滚吗,php,mysql,Php,Mysql,在一个事务中可以有多个回滚语句吗?对于您的代码,根据条件,只执行一个回滚。您可以编写多个DB::rollback(),只要只执行一个 要回答这个问题,如果您使用嵌套事务,并且使用回滚/提交返回到上一级别,则可能会有多个回滚。通常,我会尝试避免嵌套事务。我建议抛出异常s并执行回滚()catch中的和commit()在结束时,请尝试-blockso@Cristik,正如您所说的,一次只能调用一个回滚。如果您希望应用程序表现出确定性,则需要确保每个开始调用都与提交或回滚调用平衡。我认为MySQL不会抱
DB::rollback()
,只要只执行一个
要回答这个问题,如果您使用嵌套事务,并且使用回滚/提交返回到上一级别,则可能会有多个回滚。通常,我会尝试避免嵌套事务。我建议抛出
异常
s并执行回滚()catch
中的和commit()
在结束时,请尝试-blockso@Cristik,正如您所说的,一次只能调用一个回滚。如果您希望应用程序表现出确定性,则需要确保每个开始
调用都与提交
或回滚
调用平衡。我认为MySQL不会抱怨如果你给它发送多次回滚调用,但是这是你应该避免的。
DB::beginTransaction();
if(some condition)
{
if(some condition)
{
DB::commit();
}
else
{
//first rollback
DB::rollback();
}
}else
{
//second rollback
DB::rollback();
}