for update是在数据库中上锁用的,可以为数据库中的行上一个排它锁。当一个事务的操作未完成时候,其他事务可以读取但是不能写入或更新。
上面错误的描述来自:https://www.cnblogs.com/xiao-lei/p/12598552.html
for update 在不同的情况下会给行或者表上锁,但是这个锁并不是排他锁,而是共享锁,给行加的是行级别的共享锁,给表加的是表级别的共享锁。加锁后其它事务可以读取,但是不能修改。
for update 加的是共享锁,也是一种悲观锁,但绝对不是独占性质的排他锁。
我的理解没错吧??
from 书《MySQL数据库原理、设计与应用》by 黑马程序员