postgresql 创建序列

序列

序列是什么?

序列对象(也叫序列生成器)就是用CREATE SEQUENCE 创建的特殊的单行表。一个序列对象通常用于为行或者表生成唯一的标识符。
在持久层框架如Hibernate(JPA)、Mybatis中经常会用到Sequences(函数)去创建主键值,PostgreSQL中,用serial数据类型的主键,数据库会自动创建Sequences,那么我们自己设置的integer主键,如何设置添加Sequences呢?

添加序列

方式一

1.创建序列(从1开始,递增幅度1,最大值无上限)

sql 复制代码
create sequence fl_user_seq increment by 1 minvalue 1 no maxvalue start with 1;

方式二

建议

sql 复制代码
CREATE SEQUENCE if not exists test_mergetable_id_seq
INCREMENT 1
MINVALUE 1
MAXVALUE 999999999
START 1
CACHE 1;

或者

sql 复制代码
create sequence if not exists test_mergetable_id_seq increment by 1 minvalue 1 no maxvalue start with 1; 

指定序列

给表的主键指定创建好的序列,绑定到对应的列上

sql 复制代码
alter table test_mergetable alter column "i_id" set default nextval('test_mergetable_id_seq');

删除序列

sql 复制代码
drop sequence IF EXISTS test_mergetable_id_seq

查看序列

sql 复制代码
SELECT nextval('test_mergetable_id_seq')
相关推荐
o***1114几秒前
智能生成ER图工具。使用 SQL 生成 ER 图:让数据库设计更高效
数据库·sql·oracle
u***42079 分钟前
Spring Data JDBC 详解
java·数据库·spring
k***921615 分钟前
深入了解 MySQL 中的 JSON_CONTAINS
数据库·mysql·json
小石头 1008618 分钟前
【MySql】CRUD
数据库·mysql·adb
k***216027 分钟前
【HTML+CSS】使用HTML与后端技术连接数据库
css·数据库·html
i***279528 分钟前
使用 Canal 实时从 MySql 向其它库同步数据
数据库·mysql
e***753930 分钟前
SQL Server 数据库迁移到 MySQL 的完整指南
android·数据库·mysql
b***462433 分钟前
【mysql】锁机制 - 2.行锁间隙锁临键锁
数据库·mysql
yeshihouhou34 分钟前
redis数据类型 stream消息队列
数据库·redis·缓存
bug管理者42 分钟前
接口测试面试题汇总(含答案)
软件测试·数据库·面试