数据库回滚的提醒,myisam不支持回滚

刚刚写好一个上线的项目,昨天来了个同学指教指教,问到我有没有用到数据库的事务回滚,我脑子抽了一下。我貌似没有用到,错误机制都是自己设计。今天趁着偶空百度了tp的事务混滚,照猫画虎写了一个测试案例。满心期待,却发现每次都是没有回滚,刚开始以为自己的代码有问题。百度发现myisam的数据库表是不支持事务回滚的,立马改成 innodb立马成功!

$list->startTrans();
if($i ==0) {
    $result1 = $list->where("id=10000")->select();
    $data['price'] =60;
    $result2 =$list->where("id=2")->save($data);
}
else{
    $result1 =$list->where("id=1")->select();
    $data['price'] =60;
    $result2 =$list->where("id=3")->save($data);
}


if($result1 && $result2){

    $i=1;
    echo $i;
    $list->commit();//成功则提交

}else{
    $i =5;
    echo $i;
    $list->rollback();//不成功,则回滚

}

 

转载于:https://my.oschina.net/u/2487410/blog/596793

你可能感兴趣的:(数据库回滚的提醒,myisam不支持回滚)