1

tableによって生成された次の があるとしEclipselinkます。

CREATE TABLE "ACCOUNT" ("ID" BIGINT NOT NULL GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1), "DTYPE" VARCHAR(31), "EMAIL" VARCHAR(255));

次に、以下を含むファイルから一括インポートします。

1,"admin_","myemail@domain.com"
2,"user_","anotheremail@domain.com"
3,"user_","yetanotherone@domain.com"

ij toolfromApacheを と組み合わせて使用​​すると、インポートは成功しSYSCS_UTIL.SYCS_IMPORT_TABLE()ます。

次に でユーザーを作成しますJPA2。これにより、次の結果が得られます。

Caused by: org.apache.derby.client.am.SqlException: The statement was aborted because it would have caused a duplicate key value in a unique or primary key constraint or unique index identified by 'SQL130406103359120' defined on 'ACCOUNT'.

インポートを実行しなくても、問題なくユーザーを作成できます。インポートはAUTO_INCREMENT、表に指定されている関数を考慮していないようです。を使用するように更新AUTO_INCREMENTする必要はありません。4ALTER TABLE ACCOUNT AUTO_INCREMENT = 4;

4

1 に答える 1

1

インポートを行った後、次を実行します。

ALTER TABLE ACCOUNT ALTER COLUMN ID RESTART WITH 4

このリンクを参照してください: http://db.apache.org/derby/docs/10.9/ref/rrefsqlj81859.html#rrefsqlj81859__rrefsqlj37860

于 2013-04-06T17:38:10.080 に答える