【问题标题】:Syntax Error Missing SELECT in MySQLMySQL 中缺少 SELECT 的语法错误
【发布时间】:2016-04-09 16:21:29
【问题描述】:

我创建了一个表"Prices",其中有一列以当前时间命名。我正在尝试将 679.09 输入到列名为 1460217349.29 的 Prices 表中。

INSERT INTO Prices('1460217349.29') VALUES (678.09);

我查看了 w3 学校,我认为这是正确的语法,但我收到语法错误 missing SELECT。有什么建议吗?这看起来很简单。

编辑:使用十进制数字似乎需要反引号。我没有问反引号,但这似乎是答案。

【问题讨论】:

标签: mysql sql-insert


【解决方案1】:

您的列有一个非常奇怪的命名方案。但是识别列的正确方法是使用反引号:

INSERT INTO Prices(`1460217349.29`)
    VALUES (678.09);

我强烈建议您将名称更改为不需要转义的名称。事实上,数字或时间值看起来更像是列中的值,而不是列名。

编辑:

您的命名问题是列名包含句点。除非您转义名称,否则这是不允许的。另外,如果你去掉句号,那它就是一个数字,这是不允许的。

【讨论】:

  • 哈哈。当然,您的答案是正确的,但由于那个有趣的列名,它看起来非常错误。我想知道人们什么时候会尝试在名称中使用反引号来组成列。
  • 这不是强烈的鼓励。
  • 为什么需要使用反引号?是因为它是一个数字吗?它不是关键字。将列设为日期字符串会更好吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-28
  • 2011-03-24
相关资源
最近更新 更多