尝试使用UTC_TIMESTAMP创建MySQL表

时间:2017-03-07 04:39:09

标签: mysql phpmyadmin

我希望MySQL中的创建表看起来像这样:

CREATE TABLE Test_Tbl
(
Create_Date datetime Default UTC_TIMESTAMP()
);

然而,我不断收到错误。我已成功将UTC_TIMESTAMP()替换为以下各项并添加了表。

NOW()
CURRENT_TIMESTAMP()
LOCALTIME()
LOCALTIMESTAMP()

由于我无法使UTC功能正常工作,我认为PHPMyAdmin中的设置可能需要更改? (UTC_DATE和UTC_TIME也会失败。)
**
我正在进行XAMP安装 错误状态"预计会有逗号或结束括号。 (靠近"("在76位)"
将数据类型更改为时间戳,没有任何区别 感谢。

2 个答案:

答案 0 :(得分:1)

正如answers over at dba中详细讨论的那样,这里的语法不正确,因为函数UTC_TIMESTAMP();无法在那里使用。即使在命令行,此查询也会失败,因此升级或修改phpMyAdmin不会有帮助。

答案的简短版本是因为MySQL已经将TIMESTAMP列存储为UTC时间,所以此功能在此上下文中不会做太多。通常,当您放置和检索数据时,MySQL会自动将其转换回客户端使用的时区。您可能还有兴趣使用其他类型,例如DATETIME avoid this automatic conversion

答案 1 :(得分:0)

create temporary table test(
id int, 
ts timestamp without time zone default (now() at time zone 'utc')
);

以下语句将返回当前的UTC日期和时间。

SELECT UTC_TIMESTAMP,UTC_TIMESTAMP();