请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

事务的数据加锁问题

老师我想到一个很常见的场景
用户下单的事务里有两个操作 1.查库存 2.扣库存
库存仅剩1
两个订单事务都是下单一个库存
那么事务A查到的为1,事务B查到的是0还是1
事务A会对所在行加上排他锁吗
事务B是不是会在事务A的查库存和扣库存都结束后才能进行查询操作

正在回答 回答被采纳积分+3

1回答

翔仔 2020-03-31 01:03:40

同学好,读的时候都能查到是1呢,而写的时候也就是减库存的时候需要上锁

0 回复 有任何疑惑可以回复我~
  • 提问者 土豆咬土豆 #1
    那么老师如果两个事务同时查到为1 再去进行减库存操作 不是会存在库存为-1的可能吗
    回复 有任何疑惑可以回复我~ 2020-03-31 11:03:57
  • 翔仔 回复 提问者 土豆咬土豆 #2
    同学好,不会,因为减库存已经上锁了,不要直接update结果,而是去-就可以,如果是update的话,可以用乐观锁
    回复 有任何疑惑可以回复我~ 2020-04-01 10:50:42

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信