PostgreSQL 的 setval
函數(shù)用于設(shè)置序列(sequence)的當(dāng)前值
setval(sequence_name, new_value, is_called)
參數(shù)說明:
sequence_name
:要設(shè)置的序列名稱。new_value
:新的序列值。is_called
:布爾值,表示序列是否已被調(diào)用。如果為 true
,則下一次調(diào)用 nextval()
函數(shù)時(shí)將返回 new_value + increment
;如果為 false
,則下一次調(diào)用 nextval()
函數(shù)時(shí)將直接返回 new_value
。示例:
假設(shè)有一個(gè)名為 my_table_id_seq
的序列,當(dāng)前值為 10。要將其設(shè)置為 20,可以使用以下 SQL 語句:
SELECT setval('my_table_id_seq', 20, false);
這將把 my_table_id_seq
序列的當(dāng)前值設(shè)置為 20。下一次調(diào)用 nextval('my_table_id_seq')
時(shí)將返回 20。如果將 is_called
參數(shù)設(shè)置為 true
,則下一次調(diào)用 nextval()
時(shí)將返回 21。