PostgreSQL --序列与自增id的秘密
发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,一、PostgreSQL的自增id serial1.2、serial的本质我们在创建表时,经常需要使用到自增id,往往这么写,create table test ( id serial, #使
千家信息网最后更新 2024年11月23日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 null
serial和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 cycle
2.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安全错误
数据库的锁怎样保障安全
西安碑林区网络安全平台电话
北京国电通信网络技术有限公司
网络安全测试php
菏泽市网络安全宣传周校园
网络技术人才从事职业
软件开发流程改进
眼镜行业软件开发哪家好
吉林省恒盈网络技术有限公司
数据库都有什么问题
电子嵌入式软件开发的报价
java小软件开发
大创软件开发论文
小程序数据库框架
网络安全公司排行榜2020
电视台系统网络安全小结
计算机软件技术跟网络技术
数据库创建视图对象名无效
海康服务器设置方法
上海免费oa管控软件开发平台
2019网络安全宣传进校园
中国未成年人数据库
清华网络安全研究所
服务区网络安全隐患排查情况报告
vpn在线代理服务器
张涛中国互联网科技有限公司
金山区营销软件开发优势
数据库如何导入sql文件
电视剧视频软件开发
网络安全法全部内容
jbase 数据库