zoukankan      html  css  js  c++  java
  • 用户签到表的设计思路与数据库实现

    签到做为,一个促进用户粘性的手段已经很成熟了。
    
    这里说下,个人的一些设计表思路
    添加用户配置表。主键关联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='用户签到日志记录';
    //以上这些,仅做记录。如有帮助,那是最好。
    
    
  • 相关阅读:
    C++11 Lambda表达式
    C++ 容器操作
    C/C++ 动态存储分配 malloc calloc realloc函数的用法与区别
    使用visual C++测试
    设计模式有感
    smartProgram学习笔记
    C++析构函数
    C++指针和引用
    Python机器学习笔记:常用评估模型指标的用法
    Python机器学习笔记:不得不了解的机器学习面试知识点(1)
  • 原文地址:https://www.cnblogs.com/dongmodify/p/13776806.html
Copyright © 2011-2022 走看看