RT,
id 是自增主键,自己在本地 begin work 的方式开启多个事务,分别执行上面这一条语句,那这条 sql 会有并发问题吗?
看网上很多人说这条语句是先查到 a 的值再去计算最后 update 掉的。然鹅自己试的结果似乎并没有出现值覆盖的问题- -。
即便是 READ_UNCOMMIT 隔离下,开三个事务:
事务 A 提交了 update 之后,虽然事务 B、事务 C 均可以查到 A 未提交的值; 事务 B、事务 C 分别提交自己的 update,等待行锁; A 手动提交,B、C 分别手动提交;
发现最后似乎也没有出现 B C 拿同一个值去 update 的现象,a 最后的值是减了 3 的
mysql 不怎么熟悉,所以这种事务内的 update 语句,是会先拿到行锁再去取值的么?还是说要怎么操作才能出现异常 case ?有没有大佬可以指教下?