自动递增ID值

发布于 2024-07-13 07:42:29 字数 86 浏览 6 评论 0原文

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

I have an HSQLDB database with a generated ID and I want the auto-incrementing values to always be above 100,000. Is this possible with HSQLDB? Is this possible with any database?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

不念旧人 2024-07-20 07:42:29

根据 HSQL 文档

从1.7.2开始,SQL标准语法
默认情况下使用,这允许
指定初始值。 这
支持的形式是( INTEGER
默认生成为身份(开始
带 n,[增加 m]) 主键,
...)。 还添加了支持
BIGINT 标识列。 因此,
IDENTITY 列只是一个
INTEGER 或 BIGINT 列及其
序列生成的默认值
发电机。

...

下一个要使用的 IDENTITY 值可以
设置为

ALTER TABLE <表名>   ALTER COLUMN <列名称>   使用<新值>重新启动; 
  

According to the HSQL Documentation:

Since 1.7.2, the SQL standard syntax
is used by default, which allows the
initial value to be specified. The
supported form is( INTEGER
GENERATED BY DEFAULT AS IDENTITY(START
WITH n, [INCREMENT BY m])PRIMARY KEY,
...). Support has also been added for
BIGINT identity columns. As a result,
an IDENTITY column is simply an
INTEGER or BIGINT column with its
default value generated by a sequence
generator.

...

The next IDENTITY value to be used can
be set with the

ALTER TABLE <table name> ALTER COLUMN <column name> RESTART WITH <new value>;
森林很绿却致人迷途 2024-07-20 07:42:29

以下是在 HSQLDB 中执行此操作的方法

可以使用以下语句更改要使用的下一个 IDENTITY 值。 请注意,此语句不在正常操作中使用,仅用于特殊目的,例如重置身份生成器:

ALTER TABLE ALTER COLUMN <列名称>   使用<新值>重新启动; 
  

据我所知,所有 SQL 数据库都允许您为自增字段设置种子值。

更新:这是身份/自动增量实现的列表在主要的 SQL 数据库中

Here's how to do it in HSQLDB:

The next IDENTITY value to be used can be changed with the following statement. Note that this statement is not used in normal operation and is only for special purposes, for example resetting the identity generator:

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

As far as I know, all SQL databases allow you to set a seed value for the auto-increment fields.

Update: Here's a list of identity/auto-increment implementations in the major SQL databases.

孤单情人 2024-07-20 07:42:29

SQL Server 可以实现这一点。 定义自动编号列时,您可以定义起始编号和增量:

IDENTITY(100000, 1)

It is possible with SQL Server. When defining an auto number column you can define the starting number and the increment:

IDENTITY(100000, 1)
仅此而已 2024-07-20 07:42:29

我知道 SQL Server 可以做到这一点,并且我想其他服务器也可以做到。

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

I know it's possible with SQL Server, and I imagine it's possible with others.

With SQL Server you can set the ID column seed (starting number) and increment value.

叹倦 2024-07-20 07:42:29

您可以使用使用序列的数据库来完成此操作,例如 Oracle 和 PostgreSQL。 您在创建序列时指定起始值。

表明您也可以使用 HSQL 来完成此操作。

You can do it with databases that use sequences, like Oracle and PostgreSQL. You specify a start value when you create the sequence.

This suggests that you can do it with HSQL as well.

太傻旳人生 2024-07-20 07:42:29

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

Not sure about HSQL, but in MS SQL yes it's possible. Set the ID to auto increment and set the seed value to 100,000.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文