多表查询时,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多表查询
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多表查询
我自己动手试试
begin transaction ;
select
a.aa,
b.bb
from
a,b
where
1 = 1
for update;
然后另开一个session 执行加共享锁 select * from tb lock for share mode;发现等待