MYSQL實(shí)現(xiàn)添加購(gòu)物車時(shí)防止重復(fù)添加示例代碼
前言
最近因?yàn)楣ぷ鞯脑?,在做APP購(gòu)物車下單支付這一塊兒.被測(cè)試提了一個(gè)bug,當(dāng)點(diǎn)加入購(gòu)物車點(diǎn)的比較快的時(shí)候,同一個(gè)商品在購(gòu)物車中出現(xiàn)了兩個(gè).
因?yàn)榧尤胭?gòu)物車的時(shí)候,分2步, 第1步是先判斷要加入購(gòu)物車的商品是不是已經(jīng)在購(gòu)物車當(dāng)中了,如果在的話就在原來的數(shù)量基礎(chǔ)上做加一操作.如果不在再插件.
因?yàn)閮刹讲皇窃拥牟僮?所以就出現(xiàn)了多線程的安全問題,下面話不多說了,來跟隨小編一起來看看詳細(xì)的解決過程吧,會(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語句,把數(shù)量加1
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
MySQL gh-ost DDL 變更工具的實(shí)現(xiàn)
本文主要介紹了MySQL gh-ost DDL變更工具的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-02-02
mysql 5.7.21 解壓版通過歷史data目錄恢復(fù)數(shù)據(jù)的教程圖解
本文通過圖文并茂的形式給大家介紹了mysql 5.7.21 解壓版,通過歷史data目錄恢復(fù)數(shù)據(jù)的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09
mysql技巧:提高插入數(shù)據(jù)(添加記錄)的速度
這篇文章主要介紹了mysql技巧:提高插入數(shù)據(jù)(添加記錄)的速度,需要的朋友可以參考下2014-12-12
教你如何通過日志文件恢復(fù)MySQL數(shù)據(jù)
Binlog日志是二進(jìn)制日志文件,有兩個(gè)作用,一個(gè)是增量備份,另一個(gè)是主從復(fù)制,即主節(jié)點(diǎn)維護(hù)一個(gè)binlog日志文件,從節(jié)點(diǎn)從binlog中同步數(shù)據(jù),也可以通過binlog日志來恢復(fù)數(shù)據(jù),這篇文章主要給大家介紹了關(guān)于如何通過日志文件恢復(fù)MySQL數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2022-02-02

