【问题标题】:How to change - INTERVAL 7 DAY?如何更改 - 间隔 7 天?
【发布时间】:2013-04-20 18:45:36
【问题描述】:

我有这个 sql,我总是不得不通过文件编辑来更改间隔值

$sqlresult = mysql_query("UPDATE chassis SET oktodo = '1' 
             WHERE dtmcreated < '$date' - INTERVAL 7 DAY",$link) 
             or die(' Query failed: '.mysql_error().": ".$query);

我添加了一段代码来更改数据库配置表中的值 如何更改 INTERVAL 7 DAY 以从数据库配置表字段中获取数字

【问题讨论】:

    标签: php mysql intervals


    【解决方案1】:

    您可以使用一个变量作为间隔。所以,你可以加入config 表:

    UPDATE chassis c cross join
           config
         SET c.oktodo = '1' 
         WHERE c.dtmcreated < '$date' - INTERVAL config.NumDays DAY
    

    还是基本一样的思路:

    UPDATE chassis c cross join
         SET c.oktodo = '1' 
         WHERE config.vckey = 'set_date' and
               c.dtmcreated < '$date' - INTERVAL cast(config.vcvalue as int) DAY
    

    【讨论】:

    • 嗨,戈登,我想我已经把你引向了错误的道路,因为我的需求是我在数据库中创建的新条目是 INSERT INTO config (id, vckey, vcvalue) 值 (67, 'set_date', '33');所以基本上它在 config/set_date .... 所以 vckey 是一个名为 set_date 的 varchar(255) & vcvalue varchar(255) 是变化的数字“33”所在的位置,如果这有意义,我很难解释这种的东西。
    • $sqlresult = mysql_query("UPDATE chassis c cross join SET c.oktodo = '1' WHERE config.vckey = 'set_date' and c.dtmcreated
    【解决方案2】:

    之后解决了这个问题,感谢您的帮助 Gordon。

    UPDATE chassis CROSS JOIN config SET chassis.oktodo = '1' WHERE config.vckey = 'set_date' AND chassis.dtmcreated

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-23
      • 2022-06-28
      • 2014-06-18
      • 1970-01-01
      • 1970-01-01
      • 2015-09-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多