PostgreSQL 的 setval
函数用于设置序列(sequence)的当前值
setval(sequence_name, new_value, is_called)
参数说明:
sequence_name
:要设置的序列名称。new_value
:新的序列值。is_called
:布尔值,表示序列是否已被调用。如果为 true
,则下一次调用 nextval()
函数时将返回 new_value + increment
;如果为 false
,则下一次调用 nextval()
函数时将直接返回 new_value
。示例:
假设有一个名为 my_table_id_seq
的序列,当前值为 10。要将其设置为 20,可以使用以下 SQL 语句:
SELECT setval('my_table_id_seq', 20, false);
这将把 my_table_id_seq
序列的当前值设置为 20。下一次调用 nextval('my_table_id_seq')
时将返回 20。如果将 is_called
参数设置为 true
,则下一次调用 nextval()
时将返回 21。