ORA-00904错误

时间:2016-10-18 04:34:02

标签: java sql oracle jdbc

我正在使用JDBC访问数据库,我基本上是通过调用String来查询。

这是我的表book_table

| title | book no. | author_first | author_last |

The cat, 0, Tim, Joe
The dog, 1, John, Soe
The mouse, 2, Josh, Moe

这是我要查询的SQL语句:

"select title from book_table where author_first like '%tim%' and author_last like '%joe%'";

我一直在Java中获取错误异常:ORA-00904: "author_last": invalid identifier"

有什么迹象表明我做错了什么?

1 个答案:

答案 0 :(得分:2)

在为book_table创建DDL时,您很可能使用过双引号。

从错误中它意味着没有 author_first

这样的列

数据库中使用的名称应该正常工作,如果你没有使用双引号,那么可以很好地忽略大写和小写。

 create table book_table(title varchar2(100)); 
 create table BOOK_TABLE(TITLE varchar2(100));

在两种情况下

  select * from book_table where title like '%mytitle%'; 

应该工作正常。

但是,如果您使用双引号,则必须在执行sql操作时使用确切的情况。

create table "BOOK_TABLE"("Title" varchar2(100));

在这种情况下

select * from book_table where title like '%mytitle%'

不起作用

你必须使用

select * from book_table where "Title" like '%mytitle%';

我建议删除表格并在没有双引号的情况下重新创建它们,看看是否能解决它。