SQL商品秒杀库存超卖的问题解决方法一
SQL #商品秒杀2014-11-24 14:30
库存问题一直是电子商务一个头疼的话题,我们开始做网上销售商品时也经常遇到库存为负,出现超卖的问题,相信很多人也遇到过,特别是秒杀活动中.防止这个问题首先要在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#,这样只有库存大于等于购买数的时候才能执行成功.从而避免了库存出现负数相关文章
- mysql出现Data truncated for column的原因 2014/07/29
- 修复MySQL所有的数据表 2013/12/16
- MySQL:Plugin 'FEDERATED' is disabled.或1067错误 启动错误与“服务 mysql 意外停止”解决方法 2013/03/13
- 高效SQL语句的必杀技 2012/12/24
- MySQL忘记root密码的解决方法 2012/12/20
- MySQL导库命令 2012/12/20
- 分享mysql压力测试脚本 2012/11/17
- SQL Server在特定时间范围内按时间段查询 2012/11/14
- DMX-SQL SERVER 数据挖掘简介 2012/11/14
- SQL Server之SQL的分页加排序等写法 2012/11/02