前言
最近因為工作的原因,在做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
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
您可能感興趣的文章:- MySQL表中添加時間戳的幾種方法
- Mysql如何適當的添加索引介紹
- MySQL實現創建存儲過程并循環添加記錄的方法
- MySQL常用的建表、添加字段、修改字段、添加索引SQL語句寫法總結
- sql在一個表中添加字段并添加備注的方法