第1行发生错误:ORA-00984:此处不允许该列

时间:2019-02-20 13:40:12

标签: oracle

create table student(id int,name varchar2(20),marks int);
insert into student(id,name,marks) values(545,"wiahr",100);

insert into student values(545,"wiahr",100);

对于上述两个插入,我收到以下错误

  

插入学生(id,名称,标记)值(545,“ wiahr”,100)                                                 *第1行出现错误:ORA-00984:此处不允许使用列

请帮忙。

2 个答案:

答案 0 :(得分:1)

根据错误消息,您实际上正在使用Oracle数据库以及Oracle数据库strings should be encapsulated by single quotes

insert into student(id,name,marks) values(545,'wiahr',100);

live demo

用双引号代替name fields(并且VALUES语句的INSERT子句中的字段无效)。

它在INSERT documentation中被专门标注:

  

VALUES列表中的字符和日期文字必须用单引号(')括起来。数字文字不包含在引号中。

这与MySQL相反,在MySQL中,您可以对字符串使用单引号或双引号,并使用反引号引入字段。

答案 1 :(得分:0)

字符串文字用单引号(')而不是双引号(")表示:

insert into student (id, name, marks) values (545, 'wiahr', 100);
-- Here -------------------------------------------^-----^