当使用UCanAccess的executeUpdate
方法时,系统总是为我选择行号。但是,在我删除行并添加新行后,这些行不会从头开始(例如,我删除了 3 行,然后它将接下来的 3 行标记为 4
、5
和 6
)。有没有办法解决这个问题或自己命名行?这是我的代码:
statement.executeUpdate("INSERT INTO myDB2"+ " ( columnRows, columnA, columnB)"
+ " VALUES ( "+rows+", "+a+", "+b+")");`
最佳答案
重置下一个自动编号值
删除行后,您可以通过在 Access 中打开数据库并执行“压缩并修复数据库”操作来重置自动编号种子值。 UCanAccess 目前无法重置种子值本身。
将任意值插入自动编号列
从版本 4.0.2 开始,UCanAccess 能够将任意正值插入到自动编号(长整数、增量)列中。例如,对于名为 [Client] 的表:
ClientID - 自动编号
名字 - 文本(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(尚未发布)扩展了该功能,允许插入小于或等于零的任意值。
关于java - 使用 UCanAccess 插入行时更改自动编号值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44420840/