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#,這樣只有庫存大於等於購買數的時候才能執行成功.從而避免了庫存出現負數


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章