【问题标题】:JavaDB: Is it possible to change auto-increment offset on existing table?JavaDB:是否可以更改现有表的自动增量偏移量?
【发布时间】:2010-09-26 03:26:28
【问题描述】:
是否可以使用 JavaDB 更改预先存在的表上的自动增量偏移量?
我遇到了一个问题,即插入新记录通常(但并非总是)会失败,并出现抱怨使用现有键(我的自动增量列)的错误。为了填充这个数据库,我从另一个数据库 (MySQL) 中提取了一个转储文件,并使用 JavaDB 存储过程将它们全部插入到相应的 JavaDB 表中。我的理论是插入这些记录会复制 MySQL 表中的现有 ID。现在,自动增量功能正在分发现有的 ID。我认为明确地将偏移量设置为某个较高的数字将允许自动增量再次工作。
【问题讨论】:
标签:
auto-increment
javadb
【解决方案1】:
我不知道如何直接更改偏移量,但我设法通过以下方式解决了这个问题:
- 将增量金额更改为 X(在我的情况下为 100 万)。
- 插入虚拟记录。
- 将增量减少到 1。
- 删除虚拟记录。
我用这个SQL语句来改变增量金额:
ALTER TABLE tbl ALTER COLUMN col SET INCREMENT BY x
【解决方案2】:
即使这不是问题的直接答案:
使用 MySQL,您可以做一个
ALTER TABLE my_little_table AUTO_INCREMENT =2000
设置自动增量值。