首页 > 代码库 > thinkphp curd的事务回滚 一看就会
thinkphp curd的事务回滚 一看就会
/**
public function rollback(){
$M=M("Rollback");
$M->startTrans();//开启事务
$array=array("name"=>"hehe","sex"=>"men");
if($M->add($array) && $M->where("id in (14,15)")->delete())
{
echo "操作成功!";
$M->commit();//提交事务成功
}else{
echo "操作失败!";
$M->rollback();//事务有错回滚
}
}
*thinkphp数据库的事务回滚例子
*这一般用在多表操作,比如:
(1)订单表和其他订单关联信息,删除订单同时也要把订单关联表中的信息删掉,如果说删除了订单表结果在删除订单关联信息表时出现问题,也就是说,订单的关联信息没有删掉,这时就会出现信息不对应,甚至信息的冗余,这时采用事务回滚,如果一个没有删掉,之前的也要回滚,保持记录的对应统一
(2)银行打钱,如果A给B打钱,给Binsert成功了,但是Adelete失败,这时银行就亏大了,明白?此时就要回滚,如果两者其中一者不成立,则都复位
*/public function rollback(){
$M=M("Rollback");
$M->startTrans();//开启事务
$array=array("name"=>"hehe","sex"=>"men");
if($M->add($array) && $M->where("id in (14,15)")->delete())
{
echo "操作成功!";
$M->commit();//提交事务成功
}else{
echo "操作失败!";
$M->rollback();//事务有错回滚
}
}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。