前回の話に排他(行ロック)を絡めてみる。 Versionカラムを使った楽観ロックをしてみます。 ■ストーリー 1.セッション1 トランザクション開始 2.セッション2 トランザクション開始 3.セッション1 行情報取得→versionカラムを使って楽観ロックをした更新→commit or rollback 4.セッション2 行情報取得→versionカラムを使って楽観ロックをした更新→commit or rollback 楽観ロックなので、1行も更新できなかった場合はrollbackする想定です。 長いので1,2は省略しちゃいます。 READ COMMITTEDセッション1 mysql> select * from Version; +----+------+---------+ | id | text | version | +----+------+---------+ | 1 | i