select…for update行锁

作用

select for update 是为了在查询时,避免其他用户以该表进行插入,修改或删除等操作,造成表的不一致性。

Example
  1. select * from t for update 会等待行锁释放之后,返回查询结果。
  2. select * from t for update nowait 不等待行锁释放,提示锁冲突,不返回结果
  3. select * from t for update wait 5 等待5秒,若行锁仍未释放,则提示锁冲突,不返回结果
  4. select * from t for update skip locked 查询返回查询结果,但忽略有行锁的记录