前言
最近因為工作的原因,在做APP購物車下單支付這一塊兒.被測試提了一個bug,當點加入購物車點的比較快的時候,同一個商品在購物車中出現了兩個.
因為加入購物車的時候,分2步, 第1步是先判斷要加入購物車的商品是不是已經在購物車當中了,如果在的話就在原來的數量基礎上做加一操作.如果不在再插件.
因為兩步不是原子的操作,所以就出現了多線程的安全問題,下面話不多說了,來跟隨小編一起來看看詳細的解決過程吧,會對你有一定的幫助的。
MySQL insert有一個比較高級的操作
示例代碼:
sql;">INSERT INTO t_xs_shopping_cart ( user_id, shop_id, commodity_id, quantity)VALUES (71, 67, 140201057403511024, 1) ON DUPLICATE KEY UPDATE quantity = quantity + 1
當唯一鍵約束起作用的時候,會走update語句,把數量加1
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網的支持。
新聞熱點
疑難解答