You need to enable JavaScript to run this app. PostgreSQL清空表后如何将IDENTITY主键ID重置为指定起始值?
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL清空表后如何将IDENTITY主键ID重置为指定起始值?

PostgreSQL重置IDENTITY自增主键起始值的方法

你使用的GENERATED ALWAYS AS IDENTITY类型主键,本质是PostgreSQL自动为该列关联了一个序列生成器,清空表后序列不会自动重置,需要手动操作调整起始值,两种常用操作方式如下:

方法1:TRUNCATE清空表时同步重置(推荐)

清空表时直接加RESTART IDENTITY参数,一步完成清空+重置自增序列的操作:

  • 重置回建表时默认的初始值100100100000:
TRUNCATE TABLE binance_rules RESTART IDENTITY;
  • 清空后自定义自增起始值,比如设置为从200100100000开始生成:
TRUNCATE TABLE binance_rules RESTART IDENTITY WITH 200100100000;

如果该表存在外键关联需要级联清空,可在语句末尾加CASCADE参数。

方法2:单独重置自增起始值

如果已经执行过TRUNCATE,需要单独调整自增起始值,使用ALTER TABLE语句操作即可:

-- 示例:将id列的自增起始值重置为100100100000,可替换为你需要的任意数值
ALTER TABLE binance_rules ALTER COLUMN id RESTART WITH 100100100000;

验证操作结果

重置完成后可插入一条测试数据,返回的id值就是新的起始值:

INSERT INTO binance_rules ("THPARS_LIST") VALUES ('yes') RETURNING id;

注:以上语法适用于PostgreSQL 10及以上所有支持IDENTITY列的版本。

内容的提问来源于stack exchange,提问作者Parsika

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 11:45:05