当前位置: 首页 > news >正文

PostgreSql 设置自增字段

一、概述

  序列类型是 PostgreSQL 特有的创建一个自增列的方法。包含 smallserial、serial和 bigserial 类型,它们不是真正的类型,只是为了创建唯一标识符列而存在的方便符号。其本质也是调用的序列,序列详情可参考:《PostgreSql 序列》

二、使用示例

postgres=# create table test(id serial primary key,name varchar);
CREATE TABLE
postgres=# \d testTable "public.test"Column |       Type        | Collation | Nullable |             Default
--------+-------------------+-----------+----------+----------------------------------id     | integer           |           | not null | nextval('test_id_seq'::regclass)name   | character varying |           |          |
Indexes:"test_pkey" PRIMARY KEY, btree (id)
postgres=# insert into test(name) values('zhao'),('qian'),('sun');
INSERT 0 3
postgres=# select * from test;id | name
----+------1 | zhao2 | qian3 | sun
(3 rows)--上述等价于
postgres=# create table test(id int primary key,name varchar);
CREATE TABLE
postgres=# create sequence test_id_seq start with 1 increment by 1 no minvalue no maxvalue cache 1;
CREATE SEQUENCE
postgres=# alter table test alter column id set default nextval('test_id_seq');
ALTER TABLE
postgres=# \d testTable "public.test"Column |       Type        | Collation | Nullable |             Default
--------+-------------------+-----------+----------+----------------------------------id     | integer           |           | not null | nextval('test_id_seq'::regclass)name   | character varying |           |          |
Indexes:"test_pkey" PRIMARY KEY, btree (id)postgres=# insert into test(name) values('zhao'),('qian'),('sun');
INSERT 0 3
postgres=# select * from test;id | name
----+------1 | zhao2 | qian3 | sun
(3 rows)

相关文章:

  • SQL注入绕过技术
  • GO闭包实现原理(汇编级讲解)
  • Python查找列表中不重复的数字
  • 【ArcGIS微课1000例】0080:ArcGIS将shp转json(geojson)案例教程
  • 网络基础(八):路由器的基本原理及配置
  • Redis系列之简单实现watchDog自动续期机制
  • android项目实战之编辑器图片上传预览
  • 使用python脚本一个简单的搭建ansible集群
  • 数据在网络中是怎么传输的?
  • 数据库结构
  • WT588F02B-8S语音芯片在水波炉中的应用:提升用户体验与安全性
  • GPT-4V 在机器人领域的应用
  • Vue中比较两个JSON对象的差异
  • 『npm』一条命令快速配置npm淘宝国内镜像
  • Dockerfile创建镜像INMP+wordpress
  • javascript 总结(常用工具类的封装)
  • java中具有继承关系的类及其对象初始化顺序
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • Mybatis初体验
  • Node项目之评分系统(二)- 数据库设计
  • SwizzleMethod 黑魔法
  • 动态规划入门(以爬楼梯为例)
  • 强力优化Rancher k8s中国区的使用体验
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 责任链模式的两种实现
  • 正则表达式小结
  • ​如何防止网络攻击?
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • $().each和$.each的区别
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • **python多态
  • *上位机的定义
  • .NET Core 2.1路线图
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .NET Framework 服务实现监控可观测性最佳实践
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .NET连接MongoDB数据库实例教程
  • @PreAuthorize注解
  • @RequestMapping用法详解
  • [ 云计算 | AWS 实践 ] 基于 Amazon S3 协议搭建个人云存储服务
  • [Android]如何调试Native memory crash issue
  • [C]整形提升(转载)
  • [CareerCup] 13.1 Print Last K Lines 打印最后K行
  • [Firefly-Linux] RK3568修改控制台DEBUG为普通串口UART
  • [flask]http请求//获取请求体数据
  • [Flex] PopUpButton系列 —— 控制弹出菜单的透明度、可用、可选择状态
  • [GN] 设计模式——面向对象设计原则概述
  • [HTML]Web前端开发技术18(HTML5、CSS3、JavaScript )HTML5 基础与CSS3 应用——喵喵画网页
  • [InnoDB系列] -- SHOW INNODB STATUS 探秘