2009-01-29 148 views
4

我有一个带有生成ID的HSQLDB数据库,我希望自动递增值始终高于100,000。 HSQLDB有可能吗?这可能与任何数据库?自动递增ID值

回答

7

按照HSQL Documentation

由于1.7.2,SQL标准语法 默认情况下使用,其允许指定的 初始值。 支持的格式是(INTEGER 默认为身份生成(START WITH n,[INCREMENT BY m])PRIMARY KEY, ...)。还为 BIGINT标识列添加了支持。因此, IDENTITY列仅仅是一个 INTEGER或BIGINT列,其 默认值由序列 生成器生成。

...

下一个标识值使用可以 与

ALTER TABLE <table name> ALTER COLUMN <column name> RESTART WITH <new value>; 
2

它可能与SQL Server。在定义自动编号列时,您可以定义起始编号和增量:

IDENTITY(100000, 1) 
+0

设置将这个值ALWAYS 10万以上,然后?即使最大值被击中并且ID在种子值处生成回来? – systemoutprintln 2009-01-29 14:28:29

+0

是的。身份专栏是一个BIGINT,其最大值已超过十亿,所以我怀疑你会打到这一点。 – 2009-01-29 14:42:12

0

我知道这可能与SQL Server,我想这可能与其他人。

使用SQL Server,您可以设置ID列种子(起始编号)和增量值。

0

您可以使用使用序列的数据库(如Oracle和PostgreSQL)。您在创建序列时指定一个起始值。

This建议您也可以使用HSQL来完成。

0

不确定HSQL,但在MS SQL中是的,这是可能的。将ID设置为自动增量并将种子值设置为100,000。