ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

TP5 事务处理加锁

2021-04-17 09:33:01  阅读:338  来源: 互联网

标签:加锁 lock 事务处理 --- TP5 update2 update3 update1 id


<?php

namespace app\test\controller;

use think\Controller;

use think\Db;

class Index extends Controller
{
    
    public function index()
    {
        $time = date('H:i:s');
        
        // 开启事务
        Db::startTrans();
        
        db('sms')->lock(true)->select();//加锁
        
        $update1 = db('sms')->where(['id' => 1])->update(['email' => 1]);
        
        $update2 = db('sms')->where(['id' => 2])->update(['email' => 2]);
        
        $update3 = db('sms')->where(['id' => 3])->update(['email' => 3]);
        
        sleep(10);
        
        if($update1 && $update2 && $update3){
            Db::commit();//提交
            return $time.'_lock_true_'.date('H:i:s').'---'.$update1.'---'.$update2.'---'.$update3;
        }else{
            Db::rollback();//回滚
            return $time.'_lock_false_'.date('H:i:s').'---'.$update1.'---'.$update2.'---'.$update3;
        }
        
    }
    
    


}
View Code

打开两个网页同时刷新,效果如下:

 

 数据库:

 

 

 

 

 

 

_______________

 

标签:加锁,lock,事务处理,---,TP5,update2,update3,update1,id
来源: https://www.cnblogs.com/cuizhenyu/p/14669464.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有