2011-10-24 40 views
0

当前我正在为我正在创建的站点构建数据库。但是,我遇到了一个问题。我想记录用户每天登录的次数,然后能够在大量时间段(例如8个月,一年,两年等)中跟踪该信息。数据库设计/结构 - 随着时间的推移收集数据

The我现在唯一能想到的方法就是每年的每一天都有一个专栏/每天自动创建一个专栏。然而,这个想法对我来说似乎很愚蠢。我确信必须有更好的方法来做到这一点,我只是想不到一个。

有什么建议吗?

感谢, 罗布

+0

您应该将您的问题更改为更具体,以便帮助其他用户。也许“数据库设计/结构 - 收集用户登录数据”会更好地索引 – steampowered

回答

1

在创建您存储的user_id一个单独的表,日期时间和用户登录。

Averytime在用户登录,您插入一个新的记录在此表中。

例子:

CREATE TABLE user_activity (
     userid varchar(50), 
     log_in_datetime datetime 
     ); 
+0

啊,我明白了,然后我可以根据日/月/日等解析数据。我不敢相信我没有想到这一点。谢谢!我现在觉得很蠢:) –

0

这里是一个登录表我用我的网站之一。日期时间可以记录为日期时间或时间戳。如果你使用datetime,请确保考虑你的mysql服务器的时区。

有很多东西要跟踪。然后你可以稍后查询它。这些列名称中的每一个都应该用谷歌搜索来自我解释。

CREATE TABLE `t_login` (
    `id_login` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, 
    `id_user` INT(10) UNSIGNED NOT NULL DEFAULT '0', 
    `id_visit` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'fk to t_visit', 
    `id_org` INT(10) UNSIGNED NOT NULL DEFAULT '0', 
    `when_attempt` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    `uname_attempt` VARCHAR(100) NOT NULL DEFAULT '' COMMENT 'attempted username' COLLATE 'latin1_swedish_ci', 
    `valid_uname` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'valid username', 
    `valid_uname_pword` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'valid username and valid password together', 
    `pw_hash_attempt` BINARY(32) NOT NULL DEFAULT '\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0', 
    `remote_ip` CHAR(20) NOT NULL DEFAULT '' COLLATE 'latin1_swedish_ci', 
    `user_agent` VARCHAR(2000) NOT NULL DEFAULT '' COLLATE 'latin1_swedish_ci', 
    PRIMARY KEY (`id_login`), 
    INDEX `when_attempt` (`when_attempt`), 
    INDEX `rempte_ip` (`remote_ip`), 
    INDEX `valid_user` (`valid_uname`), 
    INDEX `valid_password` (`valid_uname_pword`), 
    INDEX `username` (`uname_attempt`), 
    INDEX `id_ten` (`id_org`), 
    INDEX `id_user` (`id_user`), 
    INDEX `id_visit` (`id_visit`) 
) 
COLLATE='utf8_general_ci' 
ENGINE=InnoDB 
AUTO_INCREMENT=429; 
+0

太棒了!非常感谢你!这也有很大帮助! –

相关问题