gpt4 book ai didi

mysql time_zone 没有使用?

转载 作者:行者123 更新时间:2023-11-30 01:13:45 24 4
gpt4 key购买 nike

我正在尝试将表中的条目插入或更新到雅典时区。我使用的是共享主机,因此无法设置全局服务器时区。

当我运行此多个查询时:

SET time_zone="Europe/Athens";
SELECT NOW();

我得到了所需的雅典时间,但是当我运行类似的东西时:

SET time_zone="Europe/Athens";
UPDATE `db`.`tbl` SET `the_time` = NOW() , `foo` = '1' WHERE `tbl`.`id` = 100;

更新后的条目设置的时间仍然是服务器的时间!为什么会发生这种情况以及如何解决这个问题?

最佳答案

MySQL 将 TIMESTAMP 值从当前时区转换为 UTC 进行存储,并从 UTC 转换回当前时区进行检索。 (对于 DATETIME 等其他类型,不会发生这种情况。)默认情况下,每个连接的当前时区是服务器的时间。时区可以针对每个连接进行设置。只要时区设置保持不变,您就会得到与存储的相同的值。如果您存储 TIMESTAMP 值,然后更改时区并检索该值,则检索到的值与您存储的值不同。出现这种情况是因为两个方向的转换未使用相同的时区。当前时区可用作 time_zone 系统变量的值。

http://dev.mysql.com/doc/refman/5.6/en/datetime.html

关于mysql time_zone 没有使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19257832/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com