2016-10-18 2 views
0

データベースにアクセスするためにJDBCを使用していますが、基本的にはStringをコールして問合せしています。ここで ORA-00904エラー

は私のテーブル 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文です:私はJavaでエラー例外を得続ける

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

ORA-00904: "author_last": invalid identifier"

どれを私が間違っていることを手がかりにしますか?

+1

何が問題なのか分かりませんが、もう一度Javaコードが表示されません。それを含めてください。 –

+0

いくつかのAP(TOAD、SQL Devなど)でクエリを実行しました –

+0

あなたのJavaコードも表示 –

答えて

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

の使用をしなければならない

を動作しないでしょうそれがそれを解決するかどうかを確認してください。

関連する問題