#先查出version select id, version from tbl_name where id = 100; #更新时保证 version 没有发生变化 update tbl_name set ..., version = version + 1 where id = 100 and version = last_version;
悲观锁
悲观锁是假设一定会发生冲突,取出数据时就不允许别的操作者取出该条数据。
1 2
select id from tbl_name where id = 100 for update update tbl_name set ... where id = 100;