在向mysql中插入數據的時候最需要注意的就是防止重復發添加數據,下面這篇文章主要給大家介紹了關于mysql如何實現添加購物車的時候防止重復添加的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
前言
最近因為工作的原因,在做APP購物車下單支付這一塊兒.被測試提了一個bug,當點加入購物車點的比較快的時候,同一個商品在購物車中出現了兩個.
因為加入購物車的時候,分2步, 第1步是先判斷要加入購物車的商品是不是已經在購物車當中了,如果在的話就在原來的數量基礎上做加一操作.如果不在再插件.
因為兩步不是原子的操作,所以就出現了多線程的安全問題,下面話不多說了,來跟隨小編一起來看看詳細的解決過程吧,會對你有一定的幫助的。
MySQL insert有一個比較高級的操作
示例代碼:
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
總結
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END