我希望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位)"
将数据类型更改为时间戳,没有任何区别
感谢。
答案 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();