我有一个连接MySQL数据库的Java应用程序。
我想向此应用添加报告。我想跟踪的第一件事是人们何时登录。
为此,我在表格中创建了一个lastlogin
列。当用户成功登录时我更新它
update mytable set lastlogin=Now() where userid='xxxx'
1)有更好的方法吗?有很多人登录该应用程序。
2)每次访问行时,MySQL都能自动更新时间戳吗?
3)是否有可以使用的报告库代替大部分工作?
答案 0 :(得分:1)
您可能需要考虑在每次登录时在某种历史记录表中创建新记录。这样您就可以通过时间戳查看所有登录而不是最后一次登录。创建一个新表mytable_login_history
并在每次登录时插入其中:
INSERT INTO `mytable_login_history` (`user_id`, `date_created`) VALUES (xxx, NOW());
其中xxx
是用户ID
答案 1 :(得分:0)
http://dev.mysql.com/doc/refman/5.0/en/timestamp-initialization.html
TIMESTAMP数据类型提供自动初始化和更新到当前日期和时间(即当前时间戳)