PHP如何解决库存数量

我们知道数据库处理sql是一条条处理的,假设购买商品的流程是这样的:

sql1:查询商品库存if(库存数量 > 0)
{    //生成订单...
    sql2:库存-1}

当没有并发时,上面的流程看起来是如此完美,假设同时两个人下单,而库存只有1个了,在sql1阶段两个人查询到的库存都是>0的,于是最终都执行了sql2,库存最后变为-1,超售了,要么补库存,要么等用户投诉吧。
解决这个问题比较好的方法是什么呢?


怪盗饭团
浏览 2869回答 2
2回答

guijianshi

写的时候加锁呀,这样只有一个能取得货物,另外一个会得到库存不足
打开App,查看更多内容
随时随地看视频慕课网APP