Php 在MySQL中减去两个字段w/时间数据类型

Php 在MySQL中减去两个字段w/时间数据类型,php,mysql,Php,Mysql,我正在使用PHP插入和更新mysql表上的记录。如果两个字段与时间数据类型的差异超过15分钟,我想将is_logout字段更新为1 我有开始的时间和最晚的时间 查询如下所示: UPDATE table set is_logout = 1 WHERE (time_latest - time_start) > 15 如何执行此操作?使用以下查询: updatetable set是\u logout=1,其中(NOW()-time\u start)>15 NOW()将为您提供当前时间。我相信您

我正在使用PHP插入和更新mysql表上的记录。如果两个字段与时间数据类型的差异超过15分钟,我想将is_logout字段更新为1

我有开始的时间和最晚的时间

查询如下所示:

UPDATE table set is_logout = 1 WHERE (time_latest - time_start) > 15
如何执行此操作?

使用以下查询:

updatetable set是\u logout=1,其中(NOW()-time\u start)>15


NOW()
将为您提供当前时间。我相信您的数据库中有
time\u start

为什么要有is\u logout字段?非规范化的原因是什么?当我的访问者打开一个页面时,它会将开始时间和注销时间设置为零(0)。当访问者关闭页面时,它会更新该字段,并将其注销为1。如果碰巧我的脚本无法检测卸载事件,我会认为访问者不是活动的,然后将ISLogin从0更改为1。如果没有这样的字段,你总是可以告诉它,只要选择最后登录时间点,如果两个时间的差值大于15,就可以更新ISO注销。最晚的时间应该是现在的时间。我找不到你。我只需要一个函数来计算sql语句的当前时间-开始时间。非常感谢。但是,当我测试它以将其包含在字段中以便可以看到其差异的值时,结果是不正确的。我添加了一个时间格式,以便只包含以下时间:时间格式(现在(),“%H:%I:%s”)-时间开始。如果当前时间为02:48:43,而开始时间为02:35:52,则结果为-23538。假设结果是14分钟,我用this:MINUTE修改了它(TIMEDIFF(TIME\u格式(现在(),'%H:%i:%s'),TIME\u start))。现在它可以工作了。谢谢你的提示。