乐观锁是基于版本号和更新操作加x锁实现的吗

我在想如果两个进程都获得旧版本号,然后各自的一条更新sql进去并发执行,如果更新操作不加x锁,单个sql是事务,第一条sql语句where判断版本号后,还未更新,就跳到了第二条语句执行,然后第一条语句继续执行,导致第二条sql更新被覆盖。那降低事务隔离等级,乐观锁就会有问题,我的理解有问题吗

是的,如果在提交事务之前,它判断不了数据已经更新了,它就会覆盖前面的那个操作(望采纳)