lock table 读锁定
如果一个线程获得在一个表上的read锁,那么该线程和所有其他线程只能从表中读数据,不能进行任何写操作。

lock tables user read;//读锁定表
unlock tables;//解锁
lock tables user read local;//本地读锁定表,其他线程的insert未被阻塞,update操作被阻塞

lock table 写锁定
如果一个线程在一个表上得到一个 write锁,那么只有拥有这个锁的线程可以从表中读取和写表。其它的线程被阻塞。

lock tables user write;//写锁定表
unlock tables;//解锁

Yii中的用法实例

/**
*  当日单项内容状态
*/
public function getPointAready($marke,$dayTime){$model = SysRun::model()->findByAttributes(array('syr_marking'=>$marke,'syr_daytime'=>$dayTime));if(empty($model)){//表写锁定Yii::app()->db->createCommand()->setText("lock tables {{sys_run}} WRITE")->execute();$model = new SysRun();$model->syr_marking = $marke;$model->syr_daytime = $dayTime;$model->syr_val = 0;$model->syr_subval = 0;$model->save();//表解锁Yii::app()->db->createCommand()->setText("unlock  tables")->execute();}return $model;
}

MYSQL锁表的用法,防止并发情况下的重复数据相关推荐

  1. mysql 并发避免锁表_MYSQL锁表的用法,防止并发情况下的重复数据

    项目中有些使用的redis存储,当对redis进行rehash的时候感觉是比较麻烦的.于是写了个简单的读取redis到数据库的关键方法.仅供参考. package com.redis.web; imp ...

  2. mysql 并发锁表_MySQL锁表的用法,防止并发情况下的重复数据

    早就听说lock tables和unlock tables这两个命令,从字面也大体知道,前者的作用是锁定表,后者的作用是解除锁定.但是具体如何用,怎么用,不太清楚.今天详细研究了下,总算搞明白了2者的 ...

  3. mysql基础14(关于mysql数据库在没有主键情况下去除重复数据办法)

    关于mysql数据库在没有主键情况下去除重复数据办法 约定 表名:mat 根据 cat 字段去重 新增加主键为 id 步骤 1.为mat新增一列自增主键 alter table mat add col ...

  4. php mysql 库存变负数_解决并发情况下库存减为负数问题

    场景: 一个商品有库存,下单时先检查库存,如果>0,把库存-1然后下单,如果<=0,则不能下单,事务包含两条sql语句: select quantity from products WHE ...

  5. 【问题】如何避免并发情况下的重复提交

    背景: 在业务开发中,我们常会面对防止重复请求的问题.当服务端对于请求的响应涉及数据的修改,或状态的变更时,可能会造成极大的危害.重复请求的后果在交易系统.售后维权,以及支付系统中尤其严重. 重复请求 ...

  6. mysql 锁表的情况

    mysql其实在我们使用的时候比较容易造成表被锁的情况,例如以下的几种方式 目前有表 test ,  字段分别有 id,name,age show full PROCESSLIST  查询表的执行情况 ...

  7. mysql 并发避免锁表_Yii+MYSQL锁表防止并发情况下重复数据的方法

    本文实例讲述了Yii+MYSQL锁表防止并发情况下重复数据的方法.分享给大家供大家参考,具体如下: lock table 读锁定 如果一个线程获得在一个表上的read锁,那么该线程和所有其他线程只能从 ...

  8. 并发产生mysql锁表_Yii+MYSQL锁表防止并发情况下重复数据的方法

    本文实例讲述了Yii+MYSQL锁表防止并发情况下重复数据的方法.分享给大家供大家参考,具体如下: lock table 读锁定 如果一个线程获得在一个表上的read锁,那么该线程和所有其他线程只能从 ...

  9. MySQL锁表解决方法(转)

    MySQL锁表解决方法 一.我的处理过程 1.查进程,主要是查找被锁表的那个进程的ID SHOW PROCESSLIST; 2.kill掉锁表的进程ID KILL 10866;//后面的数字即时进程的 ...

最新文章

  1. python 序列化函数_python – 如何序列化sympy lambdified函数?
  2. Xamarin iOS开发中的编辑、连接、运行
  3. OpenGL 加载模型Model
  4. Direct2D (35) : 通过 DirectWrite 获取字体列表
  5. EOJ_1064_树的层号表示法
  6. Spring 自定义注解,配置简单日志注解
  7. 磁盘已满,如何从 Mac 中删除大文件?
  8. pycharm看php文件是乱码,Jetbrains-PhpStorm2019.2中文乱码问题
  9. python画密度散点图_实战Pyhton中matplotlib箱线图的绘制(matplotlib双轴图、箱线图、散点图以及相关系数矩阵图)...
  10. 文本分析苏轼的词以及苏轼的人生轨迹地图
  11. 计算机类毕业设计评阅书评语,本科毕业论文评阅人评语_毕业论文评阅人评语模板文库_本科毕业论文评阅老师评语大全...
  12. 1056. Confusing Number
  13. Linux文件属性的777权限
  14. 用 GNS3 做CCNA网络实验(4)
  15. python图形化编程 在线教程_使用Python Editor进行在线图形化编程
  16. 卡尔曼滤波最完整公式推导
  17. 昆石VOS2009/VOS3000 2.1.6.00 Web接口说明书
  18. 笔记 GWAS 操作流程5-2:利用GEMMA软件进行LMM+PCA+协变量
  19. 客户端数字证书申请指南、安装指南和备份指南
  20. 如何在word中插入PDF文件

热门文章

  1. 安装Go 1.9.2
  2. Rancher如何按计算资源调度
  3. 如何在Windows下搭建Android开发环境
  4. MYSQL ERROR 1045 错误的解决办法 (转)
  5. 阴霾散去,迎来曙光!
  6. BGP router-id OSPF router-id 路由同步实验
  7. 8月8日白暨豚宣告灭绝
  8. AsyncContext简介
  9. input 文本框和 img 验证码对齐问题
  10. OSPF特殊区域之stub和totally stub配置(二)