王志新的博客

mysql select for update语句注意事项

王志新 2018-06-01 11:20:32
正文点这评论(0 人参与)
mysql select for update语句注意事项

前提:MySQL的InnoDB中 一个表里的数据,有很多进程会同时抓取数据,为了保证一条数据只会被一个进程抓到采用操作

select * from xxx where id=1 for update;

此时id=1的数据就被当前进程 行锁 了,其他的进程要对此记录进行操作,必须要等该进程结束之后才会执行。

注意事项:使用select for update 必须主键明确的条件,否则会造成锁表操作

例如:上面的sql  id 必须是主键,并且id赋值必须明确,不能模糊不定,比如 id>1,id like '%1%'都会造成锁表


菜鸟开发遇到,大神不喜勿喷

打赏

评论

评论
搜索
网站分类
最近发表
  • mac系统VirtualBox + Vagrant + 宝塔 Linux虚拟开发环境
  • Mac系统VirtualBox中CentOS启用共享文件夹
  • centos虚拟机配置静态IP网络
  • ssh远程连接服务器异常修复(WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!)
  • vsCode+Homestead开启xdebug调试
  • PHP Laravel Homestead安装
  • php+Xunsearch中文检索
  • array_filter()
  • array_fill_keys()
  • array_fill()
  • 常用工具
    软件下载
    友情链接

    X
    我知道了