问答详情
源自:4-1 系统部署架构

insert和update交换后数据库回滚事件

这个的话我想说下,把秒杀系统的插入和修改的话,insert在前update在后的话,这样的话,是不是在秒杀系统的规定时间内,都可以insert呢,那么在商品没有库存的情况下,是不是可以insert但是到update判断库存为0,那么数据库就需要回滚。这样的话对系统没有影响吗。

提问者:Game丿Me 2018-03-26 15:06

个回答

  • 慕盖茨030889
    2018-03-26 18:17:10

    没有库存的情况下会insert,但是update执行时更新条数小于0,就会抛出异常、事务回滚。

    好处就是: 用户第一次执行秒杀   insert -> update(持锁) ->commit(释放锁)

                      用户第二次执行秒杀    insert -> result

    减少了事务行级锁的时间。

  • qq_星云_15
    2018-03-26 17:23:27

    事务会回滚,insert无效?