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