【发布时间】:2019-04-01 12:03:19
【问题描述】:
我有一个网络应用程序,它记录一些事件(不重要)。我的网络服务器位于不同的时区,我想记录我的时区的日期和时间。
我创建了带有字段的简单数据库表:
ID - BIGINT(自动递增),primary key
WH - DATETIME(这是有问题的)
LOG_TEXT VARCHAR(255)(事件文本)
字段 WH 有问题,我只能设置 CURRENT_TIMESTAMP,但显示的时间比我当前的时区时间少 6 小时。
所以我尝试为字段 WH(在 phpMyAdmin 中)设置默认值,如下:CONVERT_TZ(WH,@@global.time_zone,'+01:00')
phpMyAdmin 显示以下错误:
#1067 - invalid default value for 'WH'
任何帮助如何为 CURRENT_TIMESTAMP 设置不同的时区?
PS:我用谷歌搜索了很多,没有与该问题匹配的答案 PPS:我无法更改服务器上的时区,它是共享主机,根本不可能。
提前感谢您提供宝贵的 cmets。
【问题讨论】:
-
从长远来看,您最好在 UTC 存储,然后在提取数据时将时区更改为本地时区。如果搬家怎么办?如果服务器移动了怎么办?或者只是下降几个小时?使用 UTC 始终可以防止由于此类原因而导致的意外问题。
标签: mysql datetime phpmyadmin default