Environment : Mysql5.7 InnoDB
A Connection
start transaction; --> <1>
SELECT * FROM table_a WHERE id = 1 lock in share mode; --> <2>
B Connection
UPDATE table_a SET name = 'blah' WHERE id = 1; --> <3>
Function Flow : <1> -> <2> -> <3>
Conclusion : <2> query result is blahblah
. But, B Query(<3>) waits.
B Query is no lock.
Why do I get this result? Does Mysql use exclusive locks by default when doing UPDATE queries?