这是一个创建于 1333 天前的主题,其中的信息可能已经有所发展或是发生改变。
使用乐观锁更新数据时,如果 Update 操作返回的影响行数为 0 ,其实不能区分是因为并发导致版本号已经更新,还是因为用户提交的数据并无更新导致的。
但理论上这两种情况需要做以区分:前者返回错误提示用户“请稍后重试”,后者为了保证幂应该返回成功。
大家遇到这种场景是如何处理的呢?
第 1 条附言 2022-05-07 18:08:52 +08:00 问题已解决。
即使用户数据字段无更新,版本号和更新时间也会更新的,所以上述的第二种情况的影响行数不会为 0 。
3 条回复 2022-05-07 17:40:01 +08:00  | | 1 wolfie 2022-05-07 17:33:22 +08:00 你们没有 update_at 之类的字段吗? |
 | | 2 wolfie 2022-05-07 17:34:09 +08:00 而且成功修改时,乐观锁版本号不会 + 1 吗? |
 | | 3 ongongethan 2022-05-07 17:40:01 +08:00 via iPhone @ wolfie 确实,即使用户数据字段无更新,版本号和更新时间也会更新的。感谢提醒。 |