【ロック】共有ロックと排他ロック - notee/MySQL GitHub Wiki
InnoDBにおける行ロックには共有ロックと排他ロックが存在する。
共有ロック
READ LOCKとも。読み取りのために使われるロック。
他のREAD LOCKと競合しない。同じレコードに対してはいくつもREAD LOCKをかけることができる。
ただし、READ LOCKがかかっているところにWRITE LOCKをかけたりWRITE LOCKがかかっているところにREAD LOCKをかけたりすることはできない。
排他ロック
WRITE LOCKとも。更新のために使われるロック。
他のすべてのロックと競合する。
注意
select と select for update と select lock in share mode は違います!selectはMVCC制御のためスナップショット見に行くので!