对比结果
为什么明明一样的执行顺序, 在name字段值不一样的情况下结果不一致呢?...2: 执行SQL更新 修改name = test15的记录shcool为'XX', 尝试获取Next-key, 此时由于where条件中只有name并不满足唯一索引条件不进行优化, 先尝试获取间隙锁{(...更新 修改name = test15的记录shcool为'XX', 尝试获取Next-key, 此时由于where条件中只有name并不满足唯一索引条件不进行优化, 先尝试获取间隙锁{(test10,...更新 修改name = test14记录, 尝试获取Next-key, 此时由于where条件中只有name并不满足唯一索引条件不进行优化, 先尝试获取间隙锁{(test10, 10) ~ (test14..., 10)}获取成功, 获取(test14, 10)这行的行锁时发现被事务1占住那么blocked住
事务1: 提交释放行锁
事务3: 获得行锁执行成功
5.结论
在使用where条件时, 由于没有使用联合唯一索引