这里不允许使用Sql(Oracle)insert --column

时间:2018-05-17 13:47:20

标签: sql oracle

使用''来包含需要插入的值。

如果需要使用' - >插入值,例如:G'day

,该怎么办?
Insert into words values ("G'day", "Yes"," Nice to meet you");

收到错误消息:

  
      
  1. 00000 - “此处不允许列”
  2.         

    *原因:
      *行动:

这里没有提及原因和行动。

1 个答案:

答案 0 :(得分:1)

Text literals are enclosed in single quotes,不是双引号;所有值都被解释为标识符,上下文意味着它们被视为列标识符(名称),因此错误。

所以简短的回答是将双引号改为单引号:

Insert into words values ('G'day', 'Yes',' Nice to meet you');

但是由于您的值实际上包含单引号,您需要通过将它们加倍来逃避它们:

Insert into words values ('G''day', 'Yes',' Nice to meet you');

或使用替代引用机制(在上面链接的文档中描述),使用不会出现在实际文本中的分隔符,例如:

Insert into words values (q'[G'day]', 'Yes',' Nice to meet you');