<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經轉移至github,大家請訪問 http://qaseven.github.io/

    MySQL數字輔助表

    最近在做一個活動簽到的功能,每個用戶每天簽到,累計到一定次數,可以換一些獎品。
      簽到表的設計如下
      CREATE TABLE `award_chance_history` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `awardActId` int(11) DEFAULT NULL COMMENT '活動id',
      `vvid` bigint(20) DEFAULT NULL COMMENT '用戶id',
      `createtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '簽到時間',
      `reason` varchar(40) DEFAULT NULL COMMENT '事由',
      `AdditionalChance` int(11) DEFAULT '0' COMMENT '積分變動',
      `type` int(11) DEFAULT NULL COMMENT '類型',
      `Chance_bak` int(11) DEFAULT '0',
      PRIMARY KEY (`id`)
      ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
      到了測試的階段,問題來了。
      測試需要讓我做一批數據,模擬用戶簽到了20天,30天..以便測試.
      這在Oracle都不是事兒,用Connect By直接可以解決.
      但是MySQL沒有這個功能,
      一開始,我是這么做的
      這種場景其實可以用數字輔助表的方式,在MySQL技術內幕(SQL)中有記錄
      首先,創建數字輔助表
    create table nums(id int not null primary key);
    delimiter $$
    create procedure pCreateNums(cnt int)
    begin
    declare s int default 1;
    truncate table nums;
    while s<=cnt do
    insert into nums select s;
    set s=s+1;
    end while;
    end $$
    delimiter ;
    delimiter $$
    create procedure pFastCreateNums(cnt int)
    begin
    declare s int default 1;
    truncate table nums;
    insert into nums select s;
    while s*2<=cnt do
    insert into nums select id+s from nums;
    set s=s*2;
    end while;
    end $$
    delimiter ;
      初始化數據
      call pFastCreateNums(10000);
      創建測試數據
      insert into award_chance_history(awardactid,vvid,reason,additionalChance,type,createtime)
      select 12,70021346,'手機簽到測試',10,2,date_add('2014-12-14',interval id day) from nums order by id limit 10;
      這樣就創建了從 2014-12-15以后的連續10天簽到數據.

    posted on 2014-12-11 23:43 順其自然EVO 閱讀(1326) 評論(0)  編輯  收藏 所屬分類: 數據庫

    <2014年12月>
    30123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    導航

    統計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲女子高潮不断爆白浆| 亚洲色无码专区在线观看| 久久精品国产精品亚洲毛片| A级毛片成人网站免费看| 久久精品亚洲福利| 99久久免费国产特黄| 色久悠悠婷婷综合在线亚洲 | 亚洲精品av无码喷奶水糖心| 亚洲性线免费观看视频成熟| 亚洲福利秒拍一区二区| 久久笫一福利免费导航| 亚洲精品成a人在线观看☆| 亚洲av日韩av欧v在线天堂| 日本一区二区三区在线视频观看免费| 免费国产在线观看| 国产免费久久久久久无码| 亚洲中文字幕伊人久久无码| 久久久久久国产a免费观看不卡| 伊人久久精品亚洲午夜| 亚洲av福利无码无一区二区 | 最新久久免费视频| 久久夜色精品国产噜噜亚洲AV| 24小时在线免费视频| 亚洲人成网国产最新在线| 国产大片91精品免费看3| 亚洲精品偷拍视频免费观看| 曰批视频免费40分钟试看天天| 亚洲另类古典武侠| 国产极品粉嫩泬免费观看| 成人免费一区二区三区 | 色噜噜噜噜亚洲第一| 日韩亚洲变态另类中文| 亚洲三级在线免费观看| 国产精品亚洲av色欲三区| 亚洲精品无码午夜福利中文字幕| 最近2018中文字幕免费视频| 亚洲AV成人无码网站| 久久精品国产亚洲av麻| 国内一级一级毛片a免费| 亚洲另类春色国产精品| 亚洲精品麻豆av|