mysql lock in share mode 和for update区别

作者: 分类: php 时间: 2022-05-04 评论: 暂无评论

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    // 禁止读写
标签: none

订阅本站(RSS)