課程
/后端開發
/Java
/Java高并發秒殺API之業務分析與DAO層
求解 ? success_killed ?表中 ?state ?怎么插入的, default ?為 -1, ?怎么在插入的時候改為0的
2016-05-14
源自:Java高并發秒殺API之業務分析與DAO層 4-9
正在回答
在SQL中創建的時候已經定義State默認為-1,如下:
? `state` TINYINT NOT NULL DEFAULT -1 COMMENT '狀態標識:-1:無效 0:成功 1:已付款 2:已發貨',
在INSERT的時候又重新給state賦值覆蓋了默認值,如下:
? ? <!--通過ignore關鍵字將主鍵沖突時的報錯改為返回0-->
? ? <!--int insertSuccessKilled(long seckilledId,long userPhone);-->
? ? <update id="insertSuccessKilled">
? ? ? ?INSERT ignore INTO success_killed(seckill_id,user_phone,state)VALUES (#{seckilledId},#{userPhone},1)
? ? </update>
所以也就改變了state狀態。
以上代碼均取自源碼。
數據插入的時候,設置插入的值為0即可
舉報
Java實現高并發秒殺API的第一門課,還等什么,趕快來加入吧
1 回答SuccessKilledDao 里面都沒有更新state字段的語句的方法,那state是不是永遠是插入時0?
1 回答idea快捷鍵怎么把選中的變成大寫和小寫?
1 回答為什么這樣改
1 回答java多態問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-10-05
在SQL中創建的時候已經定義State默認為-1,如下:
? `state` TINYINT NOT NULL DEFAULT -1 COMMENT '狀態標識:-1:無效 0:成功 1:已付款 2:已發貨',
在INSERT的時候又重新給state賦值覆蓋了默認值,如下:
? ? <!--通過ignore關鍵字將主鍵沖突時的報錯改為返回0-->
? ? <!--int insertSuccessKilled(long seckilledId,long userPhone);-->
? ? <update id="insertSuccessKilled">
? ? ? ?INSERT ignore INTO success_killed(seckill_id,user_phone,state)VALUES (#{seckilledId},#{userPhone},1)
? ? </update>
所以也就改變了state狀態。
以上代碼均取自源碼。
2016-05-14
數據插入的時候,設置插入的值為0即可