2012-03-16 12 views
0

私はこのような私のJavaプログラムでクエリを持っている -JDBCを使用した副問合せですか?

SELECT * FROM conversation WHERE user_id != 1 AND conversation_id IN 
(SELECT conversation_id FROM conversation WHERE user_id = 1) 

これは、JDBCを使用して、結果に0の行を返します。しかし、コピーしてphpmyadminに貼り付けるとうまくいきます。だから何がうまくいかないの?

私は、allowMultiQueries = trueを自分のjdbc接続文字列に追加して、それが違いをもたらすかどうかを確認しましたが、それはhasntです。

編集:

ここでは私のテーブルには、次のようになります。私はユーザー1との会話でユーザーのIDを選択しようとしています。 !=の上のクエリで、私は今それを入れます。誰もがphpmyadminでjdbcではなく動作する理由を知っていますか?

enter image description here

+0

なぜあなたはJOINをしたくないですか?それは確かに機能します。 – duffymo

+0

jdbc呼び出しはどのように見えますか?任意の入力またはjdbcのクエリの1の部分ですか? – dldnh

+0

サブクエリは意味をなさない。外部クエリと同じ条件が適用されますが、追加クエリのオーバーヘッドが適用されます。サブクエリに対してallowMultiQueries = trueを設定する必要はありません。 – nnichols

答えて

-1

あなたは同じ資格情報を使用して、両方のJDBC中とのphpMyAdminで同じデータベースにログインしていますか?そこに行って、それをしました - 別の(そして空の)データベースにログインしていて、なぜクエリが失敗したのかわかりませんでした。

+0

これは答えではありません。 – Carsten

+0

@Carsten et alなぜdownvoteが好きですか? OPが本当にクエリをコピー/ペーストしていて、JavaやSQLExceptionsにバグがない場合、問題はおそらくクエリ構文にはありません。 – james

関連する問題