Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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-NOW()在触发器或选择中的值不同_Mysql - Fatal编程技术网

MySQL-NOW()在触发器或选择中的值不同

MySQL-NOW()在触发器或选择中的值不同,mysql,Mysql,我对MySQL NOW()函数有一个问题 如果我跑步: SELECT NOW(); 我得到的值是: 2015-11-24 13:35:00 (correct value with Swedish winter-time) 2015-11-24 12:35:00 但如果我在触发器函数中使用NOW()在另一列发生如下更改时更新时间戳列: SET NEW.timestamp = NOW(); 我得到的值是: 2015-11-24 13:35:00 (correct value with Sw

我对MySQL NOW()函数有一个问题

如果我跑步:

SELECT NOW();
我得到的值是:

2015-11-24 13:35:00 (correct value with Swedish winter-time)
2015-11-24 12:35:00
但如果我在触发器函数中使用NOW()在另一列发生如下更改时更新时间戳列:

SET NEW.timestamp = NOW(); 
我得到的值是:

2015-11-24 13:35:00 (correct value with Swedish winter-time)
2015-11-24 12:35:00

我如何解决这个问题,或者为什么会出现这种情况?

要使用NOW()获取当前日期和时间,请根据您所在的国家/地区设置时区,以获取正确的日期和时间。 请检查链接

如果要更改MySQL服务器的时区以调整NOW()函数返回的当前日期和时间,请使用以下语句:


设置时区=您的时区

MySQL有多种指定时区的方法-服务器有一个默认时区,每个客户端也可以在每个连接的基础上指定自己的时区

我认为您的
SELECT
使用的是客户端连接指定的时区,而触发器使用的是服务器的默认时区