2009-01-29 149 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。