检查是否超过30分钟

时间:2013-12-15 20:56:50

标签: mysql datetime


我正在做一个小项目,我遇到了一些麻烦 问题是我想检查自u_latest_activity最新更新后是否有超过30分钟,如果有,则更新并设置u_online=0 MySQL数据库中的字段是日期时间字段。 我没有显示任何PHP代码,因为我尝试过的都没有,我尝试使用DateTime对象,但我对它是如何工作一无所知。我用谷歌搜索了很多,但我仍然无法弄明白,所以我用它作为最后的手段。我也很乐意接受SQL解决方案。

提前致谢。

2 个答案:

答案 0 :(得分:4)

这应该这样做:

UPDATE your_table SET u_online = 0 WHERE u_latest_activity < DATE_SUB(NOW(), INTERVAL 30 MINUTE)

答案 1 :(得分:1)

这是纯粹的mySQL ans可能有帮助

SELECT if(DATE_ADD(u_latest_activity, INTERVAL 30 MINUTE) > NOW() , 1 , 0) as u_online from mytable;