有没有一种方法可以将已填充表上的PostgreSQL表的主键重新设置为从1开始?
现在,它正在生成从1000000起的数字。我希望所有这些都重置并开始为1,以保持所有现有数据不变。
最佳答案
自动递增的主键(即数据类型为serial primary key
的列)与sequence关联。您可以使用setval(<seqname>, <next_value>)
函数为任何序列设置下一个值。请注意,要真正单独执行该功能,您需要使用 SELECT
,如下所示:SELECT setval(<seqname>, <next_value>)
使用序列时自动创建的序列的名称为<table>_<column>_seq