Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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 - Fatal编程技术网

如何向原始MySQL';表中每行的日期时间值

如何向原始MySQL';表中每行的日期时间值,mysql,Mysql,我有一个PHP应用程序,它将PHP日期时间存储到我的MySQL表中。我没有注意到php服务器使用了错误的时区设置,因此表中存储的所有日期都不正确。我的时区是GMT+8,但是PHP的“date.timezone”是GMT+0,所以我需要在表中所有现有的日期值中添加8小时 当前数据: ID,session_start,session_close,total_sale 1,2012-01-01 01:35:33,2012-01-01 09:35:33,8211.9 2,2012-01-02 01:3

我有一个PHP应用程序,它将PHP日期时间存储到我的MySQL表中。我没有注意到php服务器使用了错误的时区设置,因此表中存储的所有日期都不正确。我的时区是GMT+8,但是PHP的“date.timezone”是GMT+0,所以我需要在表中所有现有的日期值中添加8小时

当前数据:


ID,session_start,session_close,total_sale
1,2012-01-01 01:35:33,2012-01-01 09:35:33,8211.9
2,2012-01-02 01:32:31,2012-01-02 09:46:54,4323.56
3,2012-01-03 01:21:38,2012-01-03 09:32:21,8732.33

ID、会话开始、会话结束、总销售额
1,2012-01-01 01:35:33,2012-01-01 09:35:33,8211.9
2,2012-01-02 01:32:31,2012-01-02 09:46:54,4323.56
3,2012-01-03 01:21:38,2012-01-03 09:32:21,8732.33
所需数据:


ID,session_start,session_close,total_sale
1,2012-01-01 09:35:33,2012-01-01 17:35:33,8211.9
2,2012-01-02 09:32:31,2012-01-02 17:46:54,4323.56
3,2012-01-03 09:21:38,2012-01-03 17:32:21,8732.33

ID、会话开始、会话结束、总销售额
1,2012-01-01 09:35:332012-01-01 17:35:33,8211.9
2,2012-01-02 09:32:312012-01-02 17:46:54,4323.56
3、2012-01-03 09:21:382012-01-03 17:32:21,8732.33
我需要修复mysql表中所有数据的日期时间(准确地说,在原始日期时间值的基础上再增加8小时)


我知道这可以通过编写一个简单的PHP脚本来循环该表中的所有行,并根据需要修改datetime值来实现,但如果有人能告诉我这可以在MySQL中实现,那将很有趣(也很酷!)。

请注意,您只需执行
会话\u开始+间隔8小时
。我不知道它有这么简单。非常感谢@LightnessRacesinOrbit我用谷歌搜索过。不知道MySQL DATE_ADD()参数可以用当前列名作为参数,你看过MySQL手册了吗?
UPDATE tablename SET
  session_start=DATE_ADD(session_start INTERVAL 8 HOUR),
  session_close=DATE_ADD(session_close INTERVAL 8 HOUR)
WHERE
  whatever