數據庫回滾的提醒,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();//不成功,則回滾

}
相關文章
相關標籤/搜索