使用UCanAccess插入行时更改自动编号值

时间:2017-06-07 19:03:35

标签: java ms-access jdbc ucanaccess

使用UCanAccess的executeUpdate方法时,系统总是为我选择行号。但是,在我删除行并添加新行之后,行不会从头开始(例如,我删除了3行,然后它将接下来的3行标记为45和{ {1}})。有没有办法可以解决这个问题或者自己命名行?这是我的代码:

6

1 个答案:

答案 0 :(得分:0)

重置下一个自动编号值

删除行后,您可以通过在Access中打开数据库并执行“压缩和修复数据库”操作来重置AutoNumber种子值。 UCanAccess目前无法重置种子值。

将任意值插入自动编号列

从版本4.0.2开始,UCanAccess能够将任意正值插入自动编号(长整数,增量)列。例如,使用名为[Client]的表:

ClientID - 自动编号
FirstName - 文本(50)

我们可以做到

Statement st = conn.createStatement();
st.execute("DISABLE AUTOINCREMENT ON Client");
st.execute("INSERT INTO Client (ClientID, FirstName) VALUES (123, 'Gord')");

有关详细信息,请参阅博文here

版本4.0.3(尚未发布)扩展了该功能,允许插入小于或等于零的任意值。