• 用户签到表的设计思路与数据库实现


    签到做为,一个促进用户粘性的手段已经很成熟了。
    
    这里说下,个人的一些设计表思路
    添加用户配置表。主键关联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='用户签到日志记录';
    //以上这些,仅做记录。如有帮助,那是最好。
    
    
  • 相关阅读:
    存储过程语法二
    存储过程语法一
    存储过程的优点
    .NET中Redis安装部署及使用方法简介
    UEditor富文本web编辑器
    未找到与约束contractname Microsoft.VisualStudio.Utilities.IContentTypeRegistryService
    comet 推送消息到客户端
    文本框 只能输入数字和小数点验证
    asp.net Cache
    Windows10放开Administrator权限
  • 原文地址:https://www.cnblogs.com/dongmodify/p/13776806.html
Copyright © 2020-2023  润新知