2017-08-18 10 views
0

に間違った列からIDを返す私は、Apache DBUtilsApacheのDBUtils QueryRunnerが挿入

Long rowId = queryRunner.insert(sql, new ScalarHandler<Long>(), params); 

マイテーブルスキーマを使用しています

CREATE TABLE abc 
(
    userid bigint, 
    api_key text, 
    key_id integer NOT NULL DEFAULT nextval('api_keys_key_id_seq'::regclass), 
    CONSTRAINT api_keys_pkey PRIMARY KEY (key_id), 
    CONSTRAINT userid_fkey FOREIGN KEY (userid) 
    REFERENCES public.users (userid) MATCH SIMPLE 
    ON UPDATE NO ACTION ON DELETE NO ACTION 
) 

問題がrowIdですされているテーブルの主キーとしてuserid列どこから来ていますkey_idであり、挿入クエリの戻りIDをkey_id列にしたい。

答えて

0

最初の列にkey_idで再び表を作成することでした。このようにして、挿入クエリに応答してkey_idが返されました。これを設定するオプションがあるかもしれませんが、私は見つけられませんでした。

私はこれについてもう一度テーブルを作成することをお勧めしますが、誰かが答えを見つけました。

関連する問題