第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

秒殺成功后,再次刷新頁面,為什么會把秒殺開始時間改變了??

秒殺成功后,再次刷新頁面,為什么會把秒殺開始時間改變了??該怎么處理

正在回答

4 回答

準備看高并發(fā) 就發(fā)現(xiàn)了這個問題!nice!??!

0 回復 有任何疑惑可以回復我~
#1

reeeex

我還以為是自己哪里的參數(shù)傳錯 還是sql寫錯了
2018-03-10 回復 有任何疑惑可以回復我~

給大家一個詳細的步驟。。

修改了數(shù)據(jù)庫里seckill表的start_time的屬性就好了,

把DEFAULT?CURRENT_TIMESTAMP?ON UPDATE,改為??DEFAULT '0000-00-00 00:00:00'


不知道為什么當時sql創(chuàng)建完后start_time的屬性是?CURRENT_TIMESTAMP?ON UPDATE。。。

老師當時:

http://img1.sycdn.imooc.com//59ccd71e00011c1408320254.jpg

修改后:

http://img1.sycdn.imooc.com//59ccd7820001d59506390258.jpg

原因:

timestamp如果設(shè)置成CURRENT_TIMESTAMP ,當執(zhí)行insert操作的時候,會插入當前系統(tǒng)時間。

如果是ON UPDATE CURRENT_TIMESTAMP,當執(zhí)行update操作的時候,會跟著更新為當前UPDATE操作時的時間。

我們項目里在執(zhí)行減庫存的時候,執(zhí)行的是update語句:

? ? ? ? ? ? update?

? ? ? ? ? ? ? ? seckill?

? ? ? ? ? ? set

? ? ? ? ? ? ? ? number = number -1

? ? ? ? ? ? ?where seckill_id=#{seckillId}

? ? ? ? ? ? ?and? start_time <![CDATA[ <= ]]> #{killTime}

? ? ? ? ? ? ?and end_time>=#{killTime}

? ? ? ? ? ? ?and number>0;

所以會隨著這個秒殺減庫存的操作改變start_time的值。


1 回復 有任何疑惑可以回復我~

同樓主,我的項目秒殺成功后"秒殺開始時間"就變成了剛執(zhí)行秒殺的時間了。。。

0 回復 有任何疑惑可以回復我~

問題已經(jīng)找到,結(jié)果太出乎意料了,是數(shù)據(jù)庫的秒殺開始時間列為|“更新”了(╯︵╰)(╯︵╰)(╯︵╰)

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

秒殺成功后,再次刷新頁面,為什么會把秒殺開始時間改變了??

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號