PHP相关系列 - 商品秒杀库存问题

库存问题一直是电子商务一个头疼的话题,我们开始做网上销售商品时也经常遇到库存为负,出现超卖的问题,相信很多人也遇到过,特别是秒杀活动中.防止这个问题首先要在mysql操作前拦掉一些并发,如用Beanstalkd之类的队列工具,这里只说下mysql层面怎么防止超卖.

乐观锁

#buy_num# : 购买数

#id# : 商品id
update table set quantity=quantity - #buy_num# where id = #id# and quantity >= #buy_num#;

关键点在where里的quantity >= #buy_num#,这样只有库存大于等于购买数的时候才能执行成功.从而避免了库存出现负数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值