FOR UPDATE 和 lock in share mode 到底有什么区别 ============================================
 实验1:
 我在session A中select...for update
 在session B 中 只能查不能改..
 
 实验2:
 我在session A中select...lock in share mode
 在session B中 也是只能查不能改..请问他们2个的具体区别是什么。

解决方案 »

  1.   

    for update 排它锁
    lock in share mode 共享锁
    普通的select语句 innod不会加任何锁
      

  2.   

    MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
      

  3.   

    区别如下:
    当你使用 select ...lock in share mode的时候 等于加了共享锁 但是当前的事务不能继续对索引的记录进行更新操作,其他的session的事务就更不能了select ....for update 的时候,等于加了排他锁 当前session的事务可以对它继续进行更新操作 当然其他session的事务同样不能进行更新操作