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 关键字(默认设置)阻止在其他对象依赖该序列时删除序列。

相关推荐
troy12817 小时前
向量数据库选型指南:Milvus / Qdrant / Chroma / pgvector
数据库·milvus
彧azz17 小时前
Redis 全面指南:从核心概念到高可用架构实战
数据库·redis·架构
DBA小马哥18 小时前
MongoDB 数据同步怎么做?oplog、Change Streams、同步工具 4 种方案一次讲清(附踩坑清单)
数据库·mongodb
香菜TTT19 小时前
Redis的哨兵机制
java·数据库·redis
风哥2号20 小时前
数据库教程FGMT13‑Oracle性能优化之数据仓库与分区表
数据库·oracle·性能优化
玉宇夕落20 小时前
Docker + Milvus,数据库永久存放记忆,让对话历史永不丢失
数据库·docker·llm
Zenova EdgeOS21 小时前
工业网关数据持久化:从同步到 WAL 的工程实战
网络·数据库·oracle
企查查数据服务21 小时前
全军禁入下客商准入风控,关联图谱与穿透核查
大数据·开发语言·数据库·php
冰帆<21 小时前
DBViewer — 把数据库工作台,安装进浏览器
数据库·数据可视化·数据同步