情況是有兩臺服務(wù)器同時運行程序,然后是一個抽獎程序,獎品的數(shù)量是有限制的(每一種獎品每天發(fā)放多少,一共發(fā)放多少都是有數(shù)的超過就不在發(fā)放,剩下的概率為零).1.怎么樣避免數(shù)據(jù)重復(fù)插入2.怎樣避免多發(fā)或者少發(fā)
因為以前出現(xiàn)過類似的情況,本人初學(xué),能力有限,所以希望有一個好的解決辦法?請幫忙梳理一下流程
7 回答

慕沐林林
TA貢獻2016條經(jīng)驗 獲得超9個贊
update 表名 set 數(shù)量字段-=1 where 商品id=id and 數(shù)量字段>0
返回影響行數(shù)為1則發(fā)放成功.為0則失敗.

一只甜甜圈
TA貢獻1836條經(jīng)驗 獲得超5個贊
?我的數(shù)據(jù)庫設(shè)計是有一個獎品表,表中有獎品名稱,等級,一共發(fā)放數(shù)量,每天發(fā)放數(shù)量,已經(jīng)中獎的數(shù)量,還有一個抽獎記錄表,所有的數(shù)據(jù)都記錄,如果抽中獎品就更新獎品表中的中獎數(shù)量,如果中獎數(shù)量大于等于每天發(fā)放數(shù)量就不在發(fā)放,概率就為零了.所以感覺不適用啊

江戶川亂折騰
TA貢獻1851條經(jīng)驗 獲得超5個贊
@tanhao09: 是指你在查詢數(shù)量和提交更改后的數(shù)量之前,沒有其他人操作(保證數(shù)量是準(zhǔn)確的)。

慕村9548890
TA貢獻1884條經(jīng)驗 獲得超4個贊
你的問題是 兩個客戶端,訪問同一個數(shù)據(jù)庫,兩個客戶端同時增刪改查,有可能造成一個數(shù)據(jù)同時進行操作的問題?
添加回答
舉報
0/150
提交
取消