gpt4 book ai didi

MySQL 更新故事中的时区差异

转载 作者:行者123 更新时间:2023-11-29 13:52:50 25 4
gpt4 key购买 nike

我正在共享主机上工作,因此我无权访问 mysql 配置文件。

该系统上的默认时区是“America/New_York”,但我的数据库需要使用 UTC -5:00。

每次执行查询时,时区都会设置为 UTC -5:00,如下所示:

SET time_zone='-5:00';

如果我想要当前时间,SELECT NOW()返回正确的时间和日期,但是在更新表时mysql使用系统时间而不是设置的时区

UPDATE administradores SET ultimo_acceso=NOW() WHERE id=1

为什么这些值不同?由于我覆盖了时区,两个查询中的时间不应该相同吗?

我也尝试过 INSERT 语句,效果很好。

最佳答案

如果 ultimo_acceso 字段的类型为 TIMESTAMP,则该值实际上会存储为 UTC,然后在您选择回该值时转换回当前时区出去。所以需要在select语句中再次设置时区。

如果您使用的是DATETIME数据类型,那么您设置的值应该保留而不进行转换,并且您将准确返回您存储的内容 - 无论选择时的时区设置如何。

See the MySQL docs on this subject .

关于MySQL 更新故事中的时区差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16423899/

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