多表查询时,for update是会锁定哪张表啊?还是跟select哪张表的字段有关系?比如1
select
 a.aa,
 b.bb
from
 a,b
where
 1 = 1
for update这个会把a,b两张表都锁了吗?比如2
select
 a.aa,
from
 a left join b
  on a.aa = b.aa
where
 1 = 1
for update这个是只锁a表吗? 如果把b表的字段也检索出来,会把b表也一起锁吗?for update多表查询

解决方案 »

  1.   

    我试了试 匹配不出来数据的时候锁定a  有数据的话a b都锁定
      

  2.   

    话说,用什么方法试啊?
    我自己动手试试
    begin transaction ;
    select
     a.aa,
     b.bb
    from
     a,b
    where
     1 = 1
    for update;
    然后另开一个session  执行加共享锁 select * from tb lock for share mode;发现等待