gpt4 book ai didi

java - Derby:批量导入未设置 AUTO_INCRMENT

转载 作者:太空宇宙 更新时间:2023-11-04 07:42:29 24 4
gpt4 key购买 nike

假设我有以下,由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"

使用 Apache 中的 ij 工具 结合 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_INCRMENT 函数。我不需要使用 ALTER TABLE ACCOUNT AUTO_INCRMENT = 4;AUTO_INCRMENT 更新为 4,是吗?

最佳答案

导入后,执行以下操作:

ALTER TABLE ACCOUNT ALTER COLUMN ID RESTART WITH 4

查看此链接:http://db.apache.org/derby/docs/10.9/ref/rrefsqlj81859.html#rrefsqlj81859__rrefsqlj37860

关于java - Derby:批量导入未设置 AUTO_INCRMENT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15849336/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com