【问题标题】:Insert timestamp into table将时间戳插入表中
【发布时间】:2016-05-04 19:38:39
【问题描述】:

我们正在开发 MemSQL 数据库,我想将时间序列数据插入到表中。 MemSQL 使用 MySQL 风格作为查询语言来查询数据库。我正在使用标准的 MySQL 函数:Date_sub() 遇到错误消息:

create table simpletest (edate timestamp, name varchar(20));

insert into simpletest values ("DATE_SUB(NOW(),INTERVAL 1 HOUR)", 'hi');

我是否应该使用不同的函数来插入最后一小时的数据。

【问题讨论】:

    标签: mysql singlestore


    【解决方案1】:

    从 MemSQL v5 开始,MemSQL 不支持 insert 语句中的任意表达式(仅支持文字常量)。此限制将在下一个版本中删除。

    最好的解决方法是将查询写成insert .. select

    INSERT INTO simpletest SELECT DATE_SUB(NOW(),INTERVAL 1 HOUR), 'hi';
    

    【讨论】:

    • 感谢您的指点。我可能会把 qry 写成插入!!
    【解决方案2】:

    您可能不希望在 "DATE_SUB(NOW(),INTERVAL 1 HOUR)" 周围加上引号,因为那样整个事情就是一个字符串。

    【讨论】:

    • 实际上,一开始就尝试过,但没有运气所以,我尝试了引号,我确信它会向引擎发送一个字符串。如上所述,我在 Memsql 中插入数据。
    • 是的,你和 Adam 是对的 - 我的错误是我没有测试 MemSQL 5。我已经编辑了我的答案来纠正这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-06
    • 1970-01-01
    • 2015-02-26
    • 2020-01-13
    • 1970-01-01
    • 2022-01-22
    • 2012-09-11
    相关资源
    最近更新 更多