nextval()
是一个系统函数,返回序列中的下一个值。
nextval()
添加于 PostgreSQL 6.1。
用法
nextval (regclass
) →bigint
由 nextval()
返回的每个值都是原子返回的,即即使在不同的会话中执行,每次调用也将返回一个不同的值。
虽然可以直接执行 nextval()
,但通常将其用作列的默认值。
可以使用 currval()
函数检索序列的当前值,而不会推进序列。可以使用 setval()
显式设置它。
更改历史记录
- PostgreSQL 6.1
- 添加 (提交 e8647c45)
示例
nextval()
的基本用法示例
postgres=# CREATE SEQUENCE foo_seq; CREATE SEQUENCE postgres=# SELECT nextval('foo_seq'); nextval --------- 1 (1 row)
使用 nextval()
为表中的列生成默认值
postgres=# CREATE TABLE foo (id INT DEFAULT nextval('foo_seq')); CREATE TABLE postgres=# INSERT INTO foo (id) VALUES (DEFAULT); INSERT 0 1 postgres=# SELECT * FROM foo; id ---- 2 (1 row)
参考文献
- PostgreSQL 文档: 序列函数
有用链接
- 错误:nextval:达到序列的最大值 - 2022 年 9 月 Hans-Jürgen Schönig / CyberTec 的博文