php

mysql lock in share mode 和for update区别

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 m…

2 阅读

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    // 禁止读写
正在加载评论…