SQL 开发人员帮助缺少逗号错误



我正在Oracle中创建一个表。

在进行以下插入时,我不断收到缺少逗号错误,但我可以看到的内容中没有缺少逗号

INSERT INTO driver 
  (employee_no, first_name, last_name, ni_no, telephone, hazardous_goods)
VALUES 
  (122085,'Norris','Vasyutichev','EE 91 44 59 G',01809 7872896,07610 2265827,'Y');

即使有

INSERT INTO driver 
  (first_name, last_name, ni_no, hazardous_goods)
VALUES
  ('Norris','Vasyutichev','EE914459G','Y');

我收到缺少逗号错误

命令行错误:27 列:86
错误报告:
SQL 错误: ORA-00917: 缺少逗号
00917. 00000 - "缺少逗号"

试试这个:

INSERT INTO driver 
  (employee_no, first_name, last_name, ni_no, telephone, hazardous_goods)
VALUES 
  (122085,'Norris','Vasyutichev','EE 91 44 59 G','01809 7872896, 07610 2265827','Y');

此外,看起来您正在尝试使用逗号作为分隔符来存储多个电话号码。您应该尽量避免这种情况,而是创建一个名为 employeePhoneNumbers 的新表。像这样:

CREATE TABLE employeePhoneNumbers
( 
    employee_no    INT,
    telephone      VARCHAR2(30)
);

在employee_no上添加外键约束。

然后为每个电话号码插入一条新记录:

INSERT INTO employeePhoneNumbers(employee_no, telephone) VALUES (122085, '01809 7872896');
INSERT INTO employeePhoneNumbers(employee_no, telephone) VALUES (122085, '07610 2265827');

你可能会问为什么要这样做?用于数据库规范化。在此处阅读更多内容: http://www.informit.com/articles/article.aspx?p=30646

您实际上错过了在数字"01809 7872896"之间放置空格,并且应该在没有空格的情况下"018097872896",而这个"07610 2265827" "076102265827"。如果它与列列表匹配。如果没有,请通过在它们周围加上单引号将其更改为字符串。像'01809 7872896,07610 2265827'一样,我认为你应该做第二个,因为它似乎是用逗号分隔为字符串的电话号码。

干杯

我有同样的错误,但我的插入语句没有缺少逗号,也没有使用双引号,两者都会引发此错误。

我省略的是插入语句值的右括号,但Oracle SQL Developer给了我这个错误。

Error at Command Line:84 Column:40
Error report:
SQL Error: ORA-00917: missing comma
00917. 00000 -  "missing comma"

我得到的提示是,它在我的陈述的末尾,显然不需要逗号。

最新更新