【问题标题】:What does "ORA-00917: missing comma" mean?“ORA-00917:缺少逗号”是什么意思?
【发布时间】:2017-12-18 23:50:03
【问题描述】:

下面是我的插入脚本,它是我的表格脚本的一部分。我在此行/列上收到一条错误消息,指出我缺少4'x8 所在的逗号。我不确定在哪里插入逗号以按照我需要的方式执行脚本。

INSERT INTO PRODUCT VALUES ('WR3/TT3', 'Steel matting, 4'x8'x1/6", .5" mesh', '17-Jan-12', 18, 5, '119.95', '0.10', 25595);

从第 27 行开始的错误命令 - INSERT INTO PRODUCT VALUES ('WR3/TT3', '钢垫, 4'x8'x1/6", .5" mesh', '17-Jan-12', 18, 5, '119.95'、'0.10'、25595)命令行错误:27 列:58 错误 报告 - SQL 错误:ORA-00917:缺少逗号 00917. 00000 - “缺少逗号” *原因:
*行动:

【问题讨论】:

  • 鉴于这显然是一条 Oracle 错误消息,我已经删除了 MySQL 标记。
  • 了解以备将来参考,谢谢培根!

标签: sql oracle oracle-sqldeveloper


【解决方案1】:

实际上,您确实有单引号问题。您在维度中使用了单引号而不转义它们:

Steel matting, 4'x8'x1/6", .5" mesh
                ^^^^^ unescaped single quotes

要在单引号字符串中转义单引号,您可以将它们加倍''。这应该适用于 MySQL 或 Oracle。

INSERT INTO PRODUCT
VALUES ('WR3/TT3', 'Steel matting, 4''x8''x1/6", .5" mesh', '17-Jan-12', 18, 5, '119.95', '0.10', 25595);

【讨论】:

  • 伟大的信息蒂姆!我以为我可以只使用一个巨大的单引号,显然不是:(。这很有帮助。我正在学习以前不知道的小东西。谢谢!
  • 另一种解决方案可能是包装到 Oracle q 文字 q'[ Can use 'quotes' here ]'
【解决方案2】:

q'[ Can use 'quotes' here ]' 对我有用。

我在下面尝试插入:

INSERT INTO SITE(SITE_ID,SITE_NAME,SITE_DESC,LIS_SITE_ID,LIS_MODIFIED_DATE,IS_DEFAULT) VALUES (hibernate_sequence.nextval, 'Dawns lab', 'Pat's lab', 0, SYSDATE,'Y');

但是被扔了

SQL 错误:ORA-00917:缺少逗号

但修改为:INSERT INTO SITE(SITE_ID,SITE_NAME,SITE_DESC,LIS_SITE_ID,LIS_MODIFIED_DATE,IS_DEFAULT) VALUES (hibernate_sequence.nextval, q'[Dawns lab]', q'[Pat's lab]', 0, SYSDATE,'Y');

为我工作。谢谢!!!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-21
    • 2013-10-07
    • 1970-01-01
    • 2019-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多