Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将MySQL中的值增加到将来的某个时间?_Mysql_Date_Datetime_Intervals - Fatal编程技术网

如何将MySQL中的值增加到将来的某个时间?

如何将MySQL中的值增加到将来的某个时间?,mysql,date,datetime,intervals,Mysql,Date,Datetime,Intervals,我正在尝试更新表中的DATETIME字段。我想要的是在它过期前三个小时 我目前的代码是: UPDATE mindcore_sessions SET session_time = DATE_ADD(session_time, INTERVAL 3 HOUR) WHERE session_id = '$sessionId'; 示例值为:2013-02-11 00:00:00。如果我运行此查询,它将更改为:2013-02-11 03:00:00。这是正确的但是,如果再次运行,它将更改为201

我正在尝试更新表中的DATETIME字段。我想要的是在它过期前三个小时

我目前的代码是:

UPDATE mindcore_sessions
  SET session_time = DATE_ADD(session_time, INTERVAL 3 HOUR)
  WHERE session_id = '$sessionId';
示例值为:
2013-02-11 00:00:00
。如果我运行此查询,它将更改为:
2013-02-11 03:00:00
。这是正确的但是,如果再次运行,它将更改为
2013-02-11 06:00:00
,依此类推

我想要的是永远只提前三个小时。这很难解释,但我只希望它在再次运行时保持不变。如果1分钟后再次运行,我希望它只增加1分钟

对不起,如果问题太冗长,我会感到非常困惑(而且已经很晚了!)

谢谢:)

现在将三(3)小时添加到
,而不是在最后一次
会话时间中添加三(3)小时()

将三(3)小时添加到
NOW()
,而不是将三(3)小时添加到最后一次
会话时间中:


将间隔添加到
NOW()
,而不是添加到当前值:

UPDATE mindcore_sessions SET session_time = DATE_ADD(NOW(), INTERVAL 3 HOUR) WHERE session_id = '$sessionId';

将间隔添加到
NOW()
,而不是添加到当前值:

UPDATE mindcore_sessions SET session_time = DATE_ADD(NOW(), INTERVAL 3 HOUR) WHERE session_id = '$sessionId';

在mysql中,无法知道以前是否执行过相同的查询

唯一可能的解决方案是将原始值保存在一个额外的列中,并使用此列检查该值过去是否已更改

如果希望该值从现在起提前3小时,只需执行以下操作:


DATE\u ADD(NOW(),间隔3小时)

mysql无法知道以前是否执行过相同的查询

唯一可能的解决方案是将原始值保存在一个额外的列中,并使用此列检查该值过去是否已更改

如果希望该值从现在起提前3小时,只需执行以下操作:


DATE\u添加(现在(),间隔3小时)

如果您再次运行
更新
,那么您将在存储值中添加3小时。。。因此,如果要保留原始值,需要将其存储在其他位置。如果再次运行
更新
,则会在存储值上增加3个小时。。。所以,如果你想保持原值,你需要把它存储在其他地方!这就是我要找的。。。老实说,我想我的脑子有点问题。我应该想到这一点>。谢谢大家!这就是我要找的。。。老实说,我想我的脑子有点问题。我应该想到这一点>。