<p>以下是THINKPHP6模型查询锁代码的示例: </p><pre class="brush:js;toolbar:false"><?php
// 启动事务
Db::startTrans();
try {
// 更新数据
$result = Db::table('user')->where('id', 1)->update(['name' => 'test']);
// 加行级别排他锁
$user = Db::table('user')->where('id', 1)->lock(true)->find();
// 提交事务
Db::commit();
echo '操作成功';
} catch (\Exception $e) {
// 回滚事务
Db::rollback();
echo '操作失败';
}
?><br/></pre><p><br/></p><p> 以上示例代码中,先开启事务并通过`update()`方法更新了`user`表中`id`为1的数据的`name`字段为`test`,然后通过`lock()`方法给该行数据加了行级别的排他锁,并将其查出来赋值给`$user`变量。最后,如果操作失败,则回滚事务,否则提交事务并输出操作成功。</p><p><br/></p>
相关文章