【问题标题】:MemSQL - how to create a column default with the current date?MemSQL - 如何使用当前日期创建列默认值?
【发布时间】:2017-01-15 20:22:30
【问题描述】:

尝试使用“_loaded_at”列的默认值创建表时出现此错误:

错误 1067 (42000):“_loaded_at”的默认值无效

这不起作用:

CREATE TABLE json01(
id BIGINT PRIMARY KEY AUTO_INCREMENT
, _loaded_at DATETIME DEFAULT NOW()
, properties JSON NOT NULL
, SHARD KEY (id)
);

虽然这确实有效:

CREATE TABLE json01(
id BIGINT PRIMARY KEY AUTO_INCREMENT
, _loaded_at DATETIME DEFAULT '1970-01-01 00:00:01'
, properties JSON NOT NULL
, SHARD KEY (id)
);

我也尝试过使用函数 UTC_TIMESTAMP()。希望有一种方法可以将函数指定为默认值,因为这是非常标准的功能。非常感谢您的帮助!

【问题讨论】:

    标签: singlestore


    【解决方案1】:

    考虑一下怎么样:

    _loaded_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP 
    

    ?

    【讨论】:

    • 是的,在 memsql 支持的所有日期和时间数据类型中,只有 TIMESTAMP 可以默认为插入时的当前时间戳(DATETIME 不能)。
    猜你喜欢
    • 1970-01-01
    • 2011-08-08
    • 2017-01-01
    • 2021-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-22
    • 2011-04-15
    相关资源
    最近更新 更多