乐观锁的一些问题?求大神解答一下~

同一个数据库 开启了A,B两个事务 AB读取到同一条数据

A读取moeny为1000修改money加500 版本号加1 不提交事务

由于AB读取的同一条数据 那么B也读取money为1000 版本号也为1

B此时读取的数据还是1000 且版本号还是为1 这时B提交修改的money的语句会一直运行 然后等到Acommit B才会执行 且执行影响行数为0 (这边为啥?疑问1)但是此时B查的数据依然是1000 版本号也为1 但是修改却一直无法修改。图片是B事务的执行。一直没懂这是啥原因求大神解释一下!!图片说明
图片说明

因为没有提交 name='1' 你的条件是 name=‘2’没有找到对应数据

因为A进行update没有提交占用了事务,你提交A之后B就可以成功了,相当于A把表锁住了。