MySQL 预定的活动时间比 CURRENT_TIMESTAMP 少一小时
MySQL event time scheduled one hour less than CURRENT_TIMESTAMP
我正尝试按照以下说明安排 MySQL 活动:
CREATE EVENT IF NOT EXISTS test_event
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 MINUTE
但活动安排时间比 CURRENT_TIMESTAMP 少一小时。
命令:
SELECT @@GLOBAL.time_zone, @@SESSION.time_zone, CURRENT_TIMESTAMP;
returns 对我来说:
'SYSTEM', 'SYSTEM', '2020-03-19 17:01:38'
和
SHOW EVENTS;
returns 对我来说:
| Db | Name | Definer | Time zone | Type | Execute at | Status | Originator |
| test_db | test_vent | user@% | +00:00 | ONE TIME | 2020-03-19 16:02:38 | ENABLED | 1 |
MySQL 服务器在我的笔记本电脑上是 运行,我笔记本电脑的系统时区是 UTC+1
我在 SHOW EVENTS 中注意到时区 +00:00,但我没有在 my.ini
中设置时区
有人可以帮助我更好地理解这种错位吗?
谢谢
我在脚本中发现了问题。
在脚本的开头我找到了一个设置时区的命令:
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE /;
/!40103 SET TIME_ZONE='+00:00' */;
这就造成了问题。
我正尝试按照以下说明安排 MySQL 活动:
CREATE EVENT IF NOT EXISTS test_event
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 MINUTE
但活动安排时间比 CURRENT_TIMESTAMP 少一小时。
命令:
SELECT @@GLOBAL.time_zone, @@SESSION.time_zone, CURRENT_TIMESTAMP;
returns 对我来说:
'SYSTEM', 'SYSTEM', '2020-03-19 17:01:38'
和
SHOW EVENTS;
returns 对我来说:
| Db | Name | Definer | Time zone | Type | Execute at | Status | Originator |
| test_db | test_vent | user@% | +00:00 | ONE TIME | 2020-03-19 16:02:38 | ENABLED | 1 |
MySQL 服务器在我的笔记本电脑上是 运行,我笔记本电脑的系统时区是 UTC+1
我在 SHOW EVENTS 中注意到时区 +00:00,但我没有在 my.ini
中设置时区有人可以帮助我更好地理解这种错位吗?
谢谢
我在脚本中发现了问题。 在脚本的开头我找到了一个设置时区的命令:
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE /; /!40103 SET TIME_ZONE='+00:00' */;
这就造成了问题。