2011-10-27 11 views
0

Connectionsテーブルに挿入中にconnection_idカラムを取得しようとしています。私は自動的に生成されているcolumn_idでこのようなアプリケーションの開始時に生成されているテーブルがあります。java.sql.SQLException:テーブル 'CONNECTIONS'に 'connection_id'という名前の自動生成カラムがありません

CREATE TABLE connections (connection_ID INT not null primary key GENERATED ALWAYS AS IDENTITY(START WITH 1, INCREMENT BY 1), 
connection_name VARCHAR(100) unique not null, user_name VARCHAR(100) not null, password VARCHAR (100) not null, server_url 
VARCHAR(100) not null, port_number VARCHAR(10) not null), 

私はconnection_ids

PreparedStatement stmt = dbconn.prepareStatement(insertString, new String[] {"connection_id"}); 

のLIATを取得するには、次のステートメントを使用しています。しかし、私は私のCONNECTION_IDが自動生成され、

java.sql.SQLException: Table 'CONNECTIONS' does not have an auto-generated column named 'connection_id'. 
+0

どのデータベースを使用していますかを確認してください。この方法でIDの自動インクリメントをサポートしていないデータベースをいくつか見てきました。それはこの結果を説明するかもしれない。 – Ewald

+0

新しいString [] {Connection ID}とgetGeneratedKeys()関数をコードから取り除くと、 "Java DB"が使用され、自動生成が機能します! – Sam

+0

connection_IDおよび/またはCONNECTION_IDで動作しますか?多分、Java DBが大文字と小文字を区別して扱います。 –

答えて

0


であっても、次の例外を取得 私はJava DBに関する多くの経験はありませんが、これが役立つことを願っています。
必要なのは、自動生成されたキーをリターン可能にすることです。 Java DB Reference ManualConnection class definition

関連する問題