Oracle报错ORA-00904: 标识符无效
一般情况
一般情况下,标识符错误是因为:语句中的列名在表中不存在,修改sql语句或者修改列名即可。
特殊情况
一般情况下,建表语句如下:
create table student(
id int,
name varchar2(100)
)
但是如果建表语句写成了:
create table student(
"id" int,
"name" varchar2(100)
)
若给列名加了双引号,表的列名查看时仍然为:id,name。 但是,若使用如下查询语句则会报错:ORA-00904:标识符无效
select id,name from student;
使用如下语句则不会报错:
select 'id','name' from student;
个人建议,还是删了重建表吧,这样写太恶心了。
遇到同样的问题,确实恶心,补充一点 如果建表语句写成了:
create table student(
"id" int,
"name" varchar2(100)
)
查询语句应该是:
select "id","name" from student t where "name" = "xxx";
作为查询条件时必须是双引号,单引号不报错但是查询结果为空。
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx