sql 用update防锁

 public static function updateNum($table, $col,$num,$id,$idv)
    {
        $sql = "UPDATE `" . $table . "` SET `".$col."`=`".$col."`+" . $num . " WHERE `".$id."`='" . $idv . "';";
        $status = ORM::get_db()->query($sql);
        if ($status) {
            return true;
        } else {
            return false;
        }
    }

跟金钱相关用update,不能先查出再修改,用事务也不能避免。
同时加或减会出现只拿一个然后只完成一次操作。

$arr['proxy_ibdmoney_update'] = Yii::$app->db->createCommand("UPDATE ibd_proxy SET ibdmoney = ibdmoney - $yihuo_commission WHERE `uid` = $proxy_uid")->query();
posted @ 2018-12-29 10:27  AGEGG  阅读(219)  评论(0)    收藏  举报