PostgreSQL --序列与自增id的秘密
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,一、PostgreSQL的自增id serial1.2、serial的本质我们在创建表时,经常需要使用到自增id,往往这么写,create table test ( id serial, #使
千家信息网最后更新 2026年11月02日PostgreSQL --序列与自增id的秘密
一、PostgreSQL的自增id serial
1.2、serial的本质
我们在创建表时,经常需要使用到自增id,往往这么写,
create table test ( id serial, #使用serial来创建一个自增id name varchar(64) not null ) 通过serial创建自增id,同时会创建属于这个表的自增序列,并将id字段设置为not nullserial和bigserial类型不是真正的类型,只是为在表中设置唯一标识做的概念上的便利,本质上是创建了一个序列发生器,然后把自增字段的默认值设置为这个序列发生器的nextval
CREATE TABLE tablename ( colname SERIAL);等价于CREATE SEQUENCE tablename_colname_seq;CREATE TABLE tablename( colname integer DEFAULT nextval('tablename_colname_seq') NOT NULL);1.2、序列的属性
postgres=# \d+ test5_id_seq Sequence "public.test5_id_seq"Column | Type | Value | Storage ---------------+---------+---------------------+--------- sequence_name | name | test5_id_seq | plain last_value | bigint | 1 | plain start_value | bigint | 1 | plain #序列起始值 increment_by | bigint | 1 | plain #每次递增值 max_value | bigint | 9223372036854775807 | plain #最大值 min_value | bigint | 1 | plain #最小值 cache_value | bigint | 1 | plain log_cnt | bigint | 0 | plain is_cycled | boolean | f | plain #是否循环 is_called | boolean | f | plainOwned by: public.test5.id因为自增本质上是取序列发生器的下一个值,所以可以多个表共用一个序列发生器,可以实现多表唯一值,当然,还可以设置序列是否可循环来实现id循环
例如:
二、序列
2.1创建序列
CREATE SEQUENCE name increment by 1 maxvalue 10 minvalue 1 start 1 cycle2.2、序列操作
下一个值:nextval(regclass)当前值:currval(regclass)设置值:setval(regclass)2.3、将序列绑定到表
create table test_seq ( id int not null default nextval('my_seq1'), name varchar(64) )
序列
发生器
本质
字段
类型
循环
最大
最小
会创
只是
同时
多个
属性
最大值
标识
概念
等价
中设
并将
起始
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网黑科技
互联网最新的科技
今日互联网科技
涨乐互联网科技
圆梦互联网科技
深圳科技互联网
以房互联网科技
卓越科技(互联网 )
菲比寻常互联网科技
美国互联网前沿科技
互联网科技实习生岗位职责
重庆威客帮互联网科技
港股科技和互联网
宝灵互联网科技有限公司
华夏恒生互联网科技013171
佛山市翊博互联网络科技有限公司
翼展科技 首家互联网医院
互联网在线教育科技创业
朱啸虎曾投资哪些互联网科技企业
陕西九四连强互联网科技有限公司
深圳互联网络科技有限公司
青岛互联网科技公司
善班互联网科技
广州善班互联网科技
互联网科技有限公司 翻译
互联网金融监管科技
汽车互联网创新科技园
美国互联网科技公司
厦门江牛科技互联网
昆明中奇联合互联网科技