Php Mysql更新数据库,其中日期==-15自当前
我一直在寻找一种方法来做到这一点;我发现一个教程建议使用dateadd(我发现它是mysql中的date_add)函数。。。但我没那么幸运 我需要通过Cronjob每隔15分钟左右更新一次数据库。。。cron作业已经设置好了(Php文件),但是我不能让数据库每十五分钟更新一次 不管怎么说,这就是我目前得到的代码--我真的很紧张,试图找出如何让它工作。。。所以我知道我所做的实际上不起作用Php Mysql更新数据库,其中日期==-15自当前,php,mysql,Php,Mysql,我一直在寻找一种方法来做到这一点;我发现一个教程建议使用dateadd(我发现它是mysql中的date_add)函数。。。但我没那么幸运 我需要通过Cronjob每隔15分钟左右更新一次数据库。。。cron作业已经设置好了(Php文件),但是我不能让数据库每十五分钟更新一次 不管怎么说,这就是我目前得到的代码--我真的很紧张,试图找出如何让它工作。。。所以我知道我所做的实际上不起作用 UPDATE starinformation SET starOwner = nextOwner, deat
UPDATE starinformation SET starOwner = nextOwner, death = 'off', wifi = 'on' WHERE underSiege = 1 AND siegeStart = (current_timestamp)-15
我也试过这样做
$date=date('-15 minutes'); $sql = "UPDATE starinformation SET starOwner = nextOwner, death = 'off', wifi = 'on' WHERE underSiege = 1 AND siegeStart = ".$date
请看这里,如何使用MySQL处理时间
你是说
DATE_ADD(NOW(), INTERVAL -15 MINUTE)
如果
datetime
或timestamp
数据类型的siegeStart
,则
使用
在update语句中
但只有当siegeStart
的seconds
部分也匹配时,更新才会起作用
如果您可以省略日期的秒
部分,则
使用
请参阅:
更新starinformation SET starOwner=nextOwner,death='off',wifi='on',其中underSiege=1和siegeStart=SUBTIME(CURTIME(),'00:15:00.0')这可能是您一直在寻找的:
UPDATE starinformation SET starOwner = nextOwner, death = 'off', wifi = 'on' WHERE underSiege = 1 AND siegeStart = DATE_SUB(NOW(), INTERVAL 15 MINUTE)
此处DATE\u SUB
减去给定的日期NOW()
和给定的INTERVAL
您可以尝试此方法-
<?php
date('Y-m-d H:i:s', strtotime('-15 minutes'));
?>
UPDATE starinformation SET starOwner = nextOwner, death = 'off', wifi = 'on' WHERE underSiege = 1 AND siegeStart = DATE_SUB(NOW(), INTERVAL 15 MINUTE)
<?php
date('Y-m-d H:i:s', strtotime('-15 minutes'));
?>