分享yii的一段有用的代码:
当需要让数据库某字段自增时,比如统计每天的查询量,每次请求后都把request_count+1,
如果这样写:
$model->request_count++; $flag = $model->save();
遇到并发时会不准确,可改为:
$flag = static::updateall([ 'report_count' => new \yii\db\expression("`request_count` + 1") ], [ 'id' => $model->id ]);
同时开六个进程插入,每个进程增加100次,第一种方法只增加到了587,第二种方法增加到了600。
相关推荐:
详解yii框架批量插入数据的简单扩展类
解决yii框架参数化查询中in查询只能查询一个的问题
yii解决deleteall连表删除报错问题
以上就是详解yii如何防止并发导致的更新数据不准的详细内容。
