我正在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"
我得到的提示是,它在我的陈述的末尾,显然不需要逗号。