ongongethan
V2EX  ›  问与答

关于乐观锁影响行数为 0 的问题

  •  
  •   ongongethan · May 7, 2022 via iPhone · 1651 views
    This topic created in 1491 days ago, the information mentioned may be changed or developed.
    使用乐观锁更新数据时,如果 Update 操作返回的影响行数为 0 ,其实不能区分是因为并发导致版本号已经更新,还是因为用户提交的数据并无更新导致的。

    但理论上这两种情况需要做以区分:前者返回错误提示用户“请稍后重试”,后者为了保证幂应该返回成功。

    大家遇到这种场景是如何处理的呢?
    Supplement 1  ·  May 7, 2022
    问题已解决。
    即使用户数据字段无更新,版本号和更新时间也会更新的,所以上述的第二种情况的影响行数不会为 0 。🤣
    3 replies    2022-05-07 17:40:01 +08:00
    wolfie
        1
    wolfie  
       May 7, 2022
    你们没有 update_at 之类的字段吗?
    wolfie
        2
    wolfie  
       May 7, 2022
    而且成功修改时,乐观锁版本号不会 + 1 吗?
    ongongethan
        3
    ongongethan  
    OP
       May 7, 2022 via iPhone
    @wolfie 确实,即使用户数据字段无更新,版本号和更新时间也会更新的。感谢提醒。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   892 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 22:19 · PVG 06:19 · LAX 15:19 · JFK 18:19
    ♥ Do have faith in what you're doing.