使用者簽到表的設計思路與資料庫實現
阿新 • • 發佈:2020-10-07
簽到做為,一個促進使用者粘性的手段已經很成熟了。 這裡說下,個人的一些設計表思路 新增使用者配置表。主鍵關聯User表,即可。 CREATE TABLE `cft_user_signin` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id', `user_id` int(11) DEFAULT NULL COMMENT '使用者id',//關聯主使用者表。想當於是主鍵表的外來鍵關係表。 `days` int(10) DEFAULT NULL COMMENT '連續簽到天數',//判斷使用者是否連續簽到 `last_signin_time` int(10) DEFAULT NULL COMMENT '最後一次簽到時間',//最後一次簽到時間 `signin_nums` int(2) DEFAULT '0' COMMENT '可補籤次數',//使用者有沒有補籤的機會。 PRIMARY KEY (`id`) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='使用者簽到個人配置表'; CREATE TABLE `cft_user_signin_log` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',//自增id `user_id` int(11) DEFAULT NULL COMMENT '使用者id',//使用者id,做為獲取使用者簽到情況的表 `signin_content` text COMMENT '簽到獎勵內容',//使用者已經獲得的內容,或者其他序列化的引數。 `add_time` int(10) DEFAULT NULL COMMENT '簽到時間',//使用者正常簽到的時間,補籤時,用pacht_time,替換add_time, `signintype` enum('簽到','補籤') DEFAULT '簽到' COMMENT '簽到型別1=簽到2=補籤',//簽到記錄型別 `patch_time` int(10) DEFAULT NULL COMMENT '補籤的時間',//補籤遺漏的時間。當前時間的前一天,或者好幾天。 PRIMARY KEY (`id`) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='使用者簽到日誌記錄'; //以上這些,僅做記錄。如有幫助,那是最好。