首页 > 解决方案 > Sql (Oracle) insert --column 不允许在这里

问题描述

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

如果需要插入带有'-->的值怎么办,例如:G'day

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

收到错误消息:

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

*原因:
*措施:

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

标签: sqloracle

解决方案


文本文字用单引号括起来,而不是双引号;您的所有值都被解释为标识符,上下文意味着它们被视为列标识符(名称),因此出现错误。

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

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');

推荐阅读