【问题标题】:Missing comma error in insert statement [closed]插入语句中缺少逗号错误[关闭]
【发布时间】:2014-06-24 22:28:18
【问题描述】:
INSERT INTO Service (Customer_ID,Service_ID,Cost NUMBER) 
VALUES ('CUST001',100,'80');

当我尝试在 sql 中插入服务详细信息时,它显示缺少逗号错误。

请帮我验证和纠正。

【问题讨论】:

  • Cost Number 通常不是有效的列名,除非它被引用或括在括号中。看来您有一个名为Cost 类型为NUMBER 的列,并且您已经在SQL 中使用了该类型。此外,如果Cost 实际上是NUMBER 类型,它的值中不应有引号(数字没有引号)。
  • 寻求调试帮助的问题必须在问题本身中包含特定错误。没有明确问题陈述的问题对其他读者没有用处。
  • 感谢您的回答
  • @user3773010,如果其中任何一个回答了您的问题,请考虑标记答案(选票下方的复选框)。祝你好运!

标签: sql oracle insert


【解决方案1】:

问题出在您的Cost NUMBER 列中。不支持空格。

INSERT INTO Service (Customer_ID,Service_ID,Cost NUMBER) 
VALUES ('CUST001',100,'80');                ^^^^^^^^^^^

一些修复包括:

  1. 删除NUMBER 制作列Cost
  2. 根据您的平台在列周围放置括号或刻度:
    1. SQL Server 将是 [Cost NUMBER]
    2. MySql 将是`Cost NUMBER`

如果您使用的是 MS Access 或 Oracle,您可能会尝试转换为 NUMBER,在这种情况下您希望转换值,而不是列。

【讨论】:

  • 如果您还包含有关如何解决问题的信息,这将是一个答案。
  • @KenWhite,到了 :)
  • @Kermit,哪些平台使用datatype NUMBER
  • @Kermit,大声笑.. 这是一个真正的问题,我不知道任何并找到了该参考。你能启发我吗?
  • @paqogomez,看来Oracle 使用NUMBER 数据类型。
【解决方案2】:

查看“成本编号”是单独的,您是否缺少内窥镜?

INSERT INTO Service (Customer_ID,Service_ID,Cost NUMBER) VALUES ('CUST001',100,'80');

【讨论】:

  • 需要 OP 提供更多信息才能做出此假设。
【解决方案3】:

Service_ID 和 Cost NUMBER 列的数据类型是什么?如果它们是 int 值,则不应有引号。

INSERT INTO Service ('Customer_ID','Service_ID','Cost NUMBER') VALUES ("CUST001",100,"80");

如果您确定数据类型,请尝试此操作

【讨论】:

  • 需要 OP 提供更多信息才能做出此假设。
  • 你把引号弄错了:标识符使用双引号 "Cost NUMBER" 和字符串文字需要单引号 'CUST001'
【解决方案4】:

成本数字是带空格的。尝试写正确的列名,不带空格

【讨论】:

  • 需要 OP 提供更多信息才能做出此假设。
  • 我给出了逗号问题的答案。不是sql结构
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-21
相关资源
最近更新 更多