当我尝试插入值为TYPE的列时,我得到以下错误
SQL Error: ORA-00904: "TYPE": invalid identifier
因为TYPE是保留关键字。
但是,我看到此列已经将值设置为TYPE。怎么有人可以插入它?如果我想严格插入列值,因为TYPE有什么办法吗?
这是我的插入声明 - insert into processtable values(LB,Type,DI,Y,1,I,006,1,Type);
答案 0 :(得分:0)
您遇到了保留字,因此需要双引号:
insert into customers (1, "TABLE");
请注意,它不是:
insert into customers (1, 'TABLE');
像往常一样。
答案 1 :(得分:0)
对于选择操作,您可以使用[]
(方括号)
要成功插入,请使用反引号(`)或双引号(“)
insert into processtable values(LB,'Type',DI,Y,1,I,006,1,'Type');
答案 2 :(得分:0)
在单引号中使用字符串值,例如
insert into processtable values('LB','Type','DI','Y','1','I','006',1,'Type');
答案 3 :(得分:0)
插入过程值(LB,Type,DI,Y,1,I,006,1,Type);
values
部分列出要存储在新行中的值(双关语)。字符串值需要放在单引号中:
insert into processtable values('LB','Type','DI','Y',1,'I','006',1,'Type');
不得引用数字。
有关详细信息,请阅读章节" Oracle SQL的基本元素"中的"Literals"部分。在Oracle手册中。事实上,我强烈建议你阅读完整的章节。
术语字面值和常量值是同义词,指的是固定数据值。例如,
'JACK'
,'BLUE ISLAND'
和'101'
都是字符文字;5001
是一个数字文字。字符文字用单引号括起来,以便Oracle可以将它们与模式对象名称区分开来。
显式列出insert语句中的列是一种很好的编码风格:
insert into processtable
(col1, col2, col3, col4, col5, col6, col7, col8, col9)
values
('LB', 'Type', 'DI', 'Y', 1, 'I', '006', 1, 'Type');
答案 4 :(得分:0)
为了获得最佳插入效果,您可以使用以下内容并获得成功插入: -
插入过程值('LB','Type','DI','Y',1,'I',006,1,'Type')
答案 5 :(得分:-1)
type是SQL中的关键字。 如果你想忽略它是一个关键字并插入它,你可以用方括号括起来:
create table my_table as ([type] varchar(127))