环境:Mysql5.7 InnoDB
一个连接
start transaction; --> <1>
SELECT * FROM table_a WHERE id = 1 lock in share mode; --> <2>
B 连接
UPDATE table_a SET name = 'blah' WHERE id = 1; --> <3>
功能流程:<1> -> <2> -> <3>
结论:<2>查询结果是blahblah
。但是,B Query(<3>) 等待。
B 查询没有锁。
为什么我会得到这个结果?Mysql在进行UPDATE查询时是否默认使用排他锁?