pgsql已有表设置主键自增

1.创建序列:

CREATE SEQUENCE tablename_id_seq

START WITH 1

INCREMENT BY 1

NO MINVALUE

NO MAXVALUE

CACHE 1;

2.创建或修改表,添加自增主键约束(已有主键则无需此步骤)

ALTER TABLE your_table

ADD PRIMARY KEY (column_name);

3.设置列的默认值为序列的下一个值

ALTER TABLE your_table

ALTER COLUMN column_name SET DEFAULT nextval('tablename_id_seq');

4.删除自增序列

DROP SEQUENCE IF EXISTS sequence_name CASCADE \| RESTRICT ;

  • equence_name 是你想要删除的序列的名称。

  • IF EXISTS 是一个可选参数,如果指定了该参数,在序列不存在时不会触发错误。

  • CASCADE 关键字会自动删除依赖于该序列的对象。

  • RESTRICT 关键字(默认设置)阻止在其他对象依赖该序列时删除序列。

相关推荐
Data analyse4566 分钟前
Nginx日志访客识别的边界处理
大数据·运维·服务器·数据库·数据分析
IvorySQL7 分钟前
PostgreSQL 日报| PostgreSQL 19 RC1 正式发布(10 月 16 日)
数据库·人工智能·postgresql·开源
下页、再停留14 分钟前
【C#桌面客户端系列学习-10】连接SQLite数据库
数据库·c#·visual studio
CRMEB15 分钟前
商品 SKU 设计,从简单规格到多规格踩过什么
java·前端·数据库·开源
sunshine88519 分钟前
关联交易抵消与内部往来清理:合并报表中的“排雷”策略
大数据·数据库·人工智能
方安乐29 分钟前
PostGIS_GCJ02toWGS84_操作文档
数据库·oracle
天府云创30 分钟前
SRE之DeepSeek 10月15日故障分析、旁推和思考
网络·数据库·人工智能·故障处理·deepseek·api恢复
Tsuki_tl44 分钟前
Redis 单线程 + 多编码,到底怎么配合的?
数据库·redis·哈希表·redis数据类型·编码方式·单线程模型·redis底层
ynchyong1 小时前
创建MySQL只读账号
android·数据库·mysql
晴天¥1 小时前
如何手动方式(无 Broker)安全删除 ADG 备库?
数据库·oracle·oracle dg