PostgreSQL nextval() 函数使用指南

PostgreSQL nextval() 函数将指定的序列前进到它的下一个值并返回那个值。此操作是一个原子操作。

nextval() 语法

这里是 PostgreSQL nextval() 函数的语法:

nextval(sequence_name TEXT) -> BIGINT

参数

sequence_name
必需的。 序列的名称。

返回值

PostgreSQL nextval() 函数将指定的序列前进到它的下一个值并返回那个值。

nextval() 示例

首先,让我们使用 CREATE SEQUENCE 语句创建一个简单的序列生成器 my_sequence

DROP SEQUENCE IF EXISTS my_sequence;
CREATE SEQUENCE my_sequence START 100;

这里,我们创建了一个名称为 my_sequence 序列生成器,它的起始值是 100。

然后,让我们使用 PostgreSQL nextval() 函数将序列 my_sequence 前进一位并返回最新的值:

SELECT nextval('my_sequence');
 nextval
---------
     100

由于 my_sequence 的起始值是 100, 因此第一次执行 nextval() 函数,它返回了 100。

让我们再执行一次:

SELECT nextval('my_sequence');
 nextval
---------
     101

这里,由于我们在创建序列 my_sequence 时没有设置增加大小,因此 my_sequence 的增量大小为 1。所以这次执行 nextval() 函数后,序列 my_sequence 的最新值从 100 变成了 101。