亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

根據id查詢SuccessKilled并攜帶秒殺產品對象實體必須修改成[[根據id和userPhone查詢SuccessKilled并攜帶秒殺產品對象實體]]

關于數據庫兩張表設計上的問題和不足,希望各位仁人志士能給出解決方案.

現在情況是:同一個商品id,不同的手機號,去執行秒殺,在插入秒殺記錄表時候報錯:Expected one result (or null) to be returned by selectOne(), but found: 2
首先說下:老師表示這么設計的seckill商品表有唯一主鍵seckill_id,success_killed秒殺記錄里面有seckill_id和user_phone兩個聯合主鍵.
聯合主鍵設計的愿望實現了:當同一個手機號不能同時一個商品多次,解決了重復秒殺的問題,但是,可有想過這個問題.不同手機號能秒殺多個商品?

這條sql(

queryByIdWithSeckill

)就有問題了,要改成:

/**
?*?根據id和userPhone查詢SuccessKilled并攜帶秒殺產品對象實體
?*
?*?@param?seckillId
?*?@return
?*/
SuccessKilled?queryByIdWithSeckill(long?seckillId,?long?userPhone);

SELECT

? sk.seckill_id,

? sk.user_phone,

? sk.create_time,

? sk.state,

? s.seckill_id ?AS "seckill.seckill_id",

? s.name ? ? ? ?AS "seckill.name",

? s.number ? ? ?AS "seckill.number",

? s.start_time ?AS "seckill.start_time",

? s.end_time ? ?AS "seckill.end_time",

? s.create_time AS "seckill.create_time"

FROM success_killed sk RIGHT JOIN seckill s ON sk.seckill_id = s.seckill_id

WHERE sk.seckill_id = 5?

and sk.user_phone = 18617151927


正在回答

舉報

0/150
提交
取消

根據id查詢SuccessKilled并攜帶秒殺產品對象實體必須修改成[[根據id和userPhone查詢SuccessKilled并攜帶秒殺產品對象實體]]

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號