加锁lock必须和事务一起使用
$id = Db::name('test')->insertGetId([
'addtime' => time()
]);
if($id){
Db::startTrans();
try {
$rank = Db::name('test')->lock(true)->max('rank');
Db::name('test')->where('id',$id)->update([
'rank' => $rank + 1
]);
// 提交事务
Db::commit();
} catch (\Exception $e) { //如书写为(Exception $e)将无效
// 回滚事务
Db::rollback();
}
}