将PostgreSQL主键重置为1
有没有办法重新设置PostgreSQL表的主键从1开始在填充表上重新开始?
现在它正在产生1000000以上的数字。 我想这一切都重置,并开始1,保持所有我现有的数据完好无损。
自动增量的主键(即,具有数据typesserial primary key
列)与序列相关联。 您可以使用setval(<seqname>,<next_value>)
为任何序列设置下一个值。
使用序列时自动创build序列的名称是<table>_<column>_seq
重置序列以从数字1开始的最好方法是执行以下操作:
ALTER SEQUENCE <tablename>_<id>_seq RESTART WITH 1
所以,例如对于users
表,它将是:
ALTER SEQUENCE users_id_seq RESTART WITH 1