mySQL更新时间戳从0开始

时间:2011-07-12 21:42:39

标签: mysql

我有这个mySQL语法,每次重新加载页面时都会更新表users和列skills_mod_time$sql = "UPDATE users SET skills_mod_time = CURRENT_TIMESTAMP";

如何更改而不是使用CURRENT_TIMESTAMP来使用计数时间戳。 例如,列skills_mod_time默认为0。如果页面在10秒后重新加载,我希望秒部分为10.而不是将0更改为当前时间的当前方式。

2 个答案:

答案 0 :(得分:0)

听起来你想记录“登录后的秒数”或类似的东西,而不是“最后一次活动”。为此,您应该创建一个名为login_time或类似的列,并且仅在用户登录时更新它。您可能仍希望跟踪上次活动时间,就像现在一样,为了会话到期。

然后,如果您有login_timelast_activity这两个列,则可以通过从另一列中减去一列来获取login_time和last_activity之间的秒数。或者,您可以通过从login_time减去NOW()来获取登录后的时间。

我希望这能回答你的问题 - 如果没有,请澄清你的问题。

答案 1 :(得分:0)

您可以使用timestampdiff函数来获取两个时间戳值的差异 就像是 UPDATE用户SET skills_mod_time = TIMESTAMPDIFF(MINUTE,skills_mod_time,CURRENT_TIMESTAMP);