指定 SERIAL8 的开始值

缺省顺序起始号为 1,但可以在创建或改变表时指定初始值 n。要使表的 SERIAL8 列从值 1 开始,请在将行插入该表中时为 SERIAL8 列提供值 0。数据库服务器将把值 1 指定给该表第一行的 SERIAL8 列。可以指定的最大 SERIAL8 值是 263-1 (9,223,372,036,854,775,807)。如果指定大于这个的值,那么会接收到语法错误。当数据库服务器生成最大的 SERIAL8 值时,它就会回绕并从 1 开始生成值。

在指定了非零 SERIAL8 数之后,就不能更改它。但是,可以将值插入 SERIAL8 列中(使用 INSERT 语句),或如果 SERIAL8 值 n 与列中的任何现有值都不重复,也可以重置该值(使用 ALTER TABLE 语句)。

当将数字插入 SERIAL8 列中或复位 SERIAL8 列的下一个值时,数据库服务器就会按输入数字的顺序指定下一个数。但是,如果将 SERIAL8 列的下一个值复位为比该列中已存在的值要小的值,那么使用以下公式来计算下一个值:
SERIAL8 列中的最大现有值 + 1

例如:当最高指定的客户号为 128 时,如果将 customer 表中 customer_num 列的 SERIAL8 值重新设置为 50,那么指定的下一个客户号为 129

有关将 SERIAL8 数据类型与 INT8 或 BIGINT 数据类型配合使用的信息,请参阅将 SERIAL8 和 BIGSERIAL 与 INT8 或 BIGINT 配合使用