前言
最近因?yàn)楣ぷ鞯脑?,在做APP購(gòu)物車(chē)下單支付這一塊兒.被測(cè)試提了一個(gè)bug,當(dāng)點(diǎn)加入購(gòu)物車(chē)點(diǎn)的比較快的時(shí)候,同一個(gè)商品在購(gòu)物車(chē)中出現(xiàn)了兩個(gè).
因?yàn)榧尤胭?gòu)物車(chē)的時(shí)候,分2步, 第1步是先判斷要加入購(gòu)物車(chē)的商品是不是已經(jīng)在購(gòu)物車(chē)當(dāng)中了,如果在的話就在原來(lái)的數(shù)量基礎(chǔ)上做加一操作.如果不在再插件.
因?yàn)閮刹讲皇窃拥牟僮?所以就出現(xiàn)了多線程的安全問(wèn)題,下面話不多說(shuō)了,來(lái)跟隨小編一起來(lái)看看詳細(xì)的解決過(guò)程吧,會(huì)對(duì)你有一定的幫助的。
MySQL insert有一個(gè)比較高級(jí)的操作
示例代碼:
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
當(dāng)唯一鍵約束起作用的時(shí)候,會(huì)走update語(yǔ)句,把數(shù)量加1
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
您可能感興趣的文章:- MySQL表中添加時(shí)間戳的幾種方法
- Mysql如何適當(dāng)?shù)奶砑铀饕榻B
- MySQL實(shí)現(xiàn)創(chuàng)建存儲(chǔ)過(guò)程并循環(huán)添加記錄的方法
- MySQL常用的建表、添加字段、修改字段、添加索引SQL語(yǔ)句寫(xiě)法總結(jié)
- sql在一個(gè)表中添加字段并添加備注的方法