【ロック】共有ロックと排他ロック - 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制御のためスナップショット見に行くので!

http://ikm.hatenablog.jp/entry/2012/12/10/192346