【问题标题】:Mysql update database where date == -15 from currentMysql 更新数据库 where date == -15 from current
【发布时间】:2014-04-15 03:58:32
【问题描述】:

我一直在寻找一种方法来做到这一点;我发现一个教程建议使用 dateadd (我发现它是 mysql 中的 date_add )函数......但我没有运气。

我需要通过 Cronjob 每 15 分钟左右更新一次数据库... cron 作业已经设置(Php 文件),但我无法让数据库每 15 分钟更新一次。

无论如何,这是我目前得到的代码——我真的很想弄清楚如何让它工作……所以我知道我在做什么实际上不起作用。

 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

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    你可以试试这个。-

    <?php
    date('Y-m-d H:i:s', strtotime('-15 minutes'));
    ?>
    

    【讨论】:

      【解决方案2】:

      请看这里,如何使用 MySQL 处理时间

      Add 2 hours to current time in MySQL?

      【讨论】:

        【解决方案3】:

        你的意思是像

         DATE_ADD(NOW(), INTERVAL -15 MINUTE) 
        

        【讨论】:

          【解决方案4】:

          当前时间减去15分钟可以用CURTIME和SUBTIME这两个函数来表示:

          SUBTIME(CURTIME(),'00:15:00.0');

          因此,根据您发布的声明,修改后的版本是:

          UPDATE starinformation SET starOwner = nextOwner, death = 'off', wifi = 'on' WHERE underSiege = 1 AND siegeStart =SUBTIME(CURTIME(),'00:15:00.0')

          【讨论】:

            【解决方案5】:

            这可能是您一直在寻找的:

            UPDATE starinformation SET starOwner = nextOwner, death = 'off', wifi = 'on' WHERE underSiege = 1 AND siegeStart = DATE_SUB(NOW(), INTERVAL 15 MINUTE)
            

            这里DATE_SUB 用给定的INTERVAL 减去给定的日期NOW()

            【讨论】:

              【解决方案6】:

              如果siegeStart 属于datetimetimestamp 数据类型,则

              使用

              siegeStart = ( current_timestamp - interval 15 minute )
              

              在更新语句中。

              但只有当siegeStartseconds 部分也匹配时,更新才会起作用。

              如果您可以省略日期中的seconds,那么

              使用

              date_format( siegeStart, '%Y-%m-%d %H:%i' ) = 
              date_format( current_timestamp - interval 15 minute, '%Y-%m-%d %H:%i' )
              

              参考

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2016-12-27
                • 1970-01-01
                • 2013-09-20
                • 1970-01-01
                相关资源
                最近更新 更多