mysql lock in share mode 和for update区别
标签搜索
侧边栏壁纸
  • 累计撰写 92 篇文章
  • 累计收到 0 条评论
php

mysql lock in share mode 和for update区别

ManTou
2022-05-04 / 0 评论 / 7 阅读 / 正在检测是否收录...

lock in share mode:可以读,禁止写
for update:禁止读写

假设当前有个事件表 event 含有字段 id title ,按照时间顺序执行 t1,t2,t3....(注意使用Innodb测试

测试lock in share mode:
控制台1:

begin;      
SELECT * from `event` lock in  share mode  #t1
commit;      #t4

控制台2:

begin;
SELECT * from `event`;  #t2            //正常读到值
update `event` set title =88 ;  #t3    //阻塞,直到t4执行完毕才执行

测试for update:
控制台1:

begin;      
SELECT * from `event` for update  #t1
commit;      #t4

控制台2:

begin;
SELECT * from `event`;  #t2            //阻塞 直到t4执行完毕才得的具体值
update `event` set title =88 ;  #t3    // 禁止读写
0

评论

博主关闭了当前页面的评论