PostgreSql 设置自增字段

news/2024/7/9 20:43:13 标签: postgresql, 数据库

一、概述

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

二、使用示例

postgres=# create table test(id serial primary key,name varchar);
CREATE TABLE
postgres=# \d test
                                 Table "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 | zhao
  2 | qian
  3 | 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 test
                                 Table "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 | zhao
  2 | qian
  3 | sun
(3 rows)


http://www.niftyadmin.cn/n/5266919.html

相关文章

【MyBatis-Plus】简化你的Java持久层开发

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于MyBatis-Plus的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.MyBatis-Plus是什么 二.MyBati…

【Avue】点击新增再点击表单得radio选项出现新表单,且编辑页面关不掉新表单处理方法

一、问题描述 1、点击新增 2、 点击radio选择值 1、点击否得时候没反应 2、点击是得时候出现新表单 2.1、旧代码 {label: 是否危险源,prop: isBigdanger,searchLabelWidth: 120,overHidden: true,span: 24,rules: [{required: true,message: 请选择是否重大危险源,trigger: bl…

人工智能自然语言处理:语言之美,算法之智

导言 自然语言处理(Natural Language Processing, NLP)是人工智能领域中备受关注的分支,致力于让计算机能够理解、处理和生成人类语言。本文将深入研究人工智能在自然语言处理领域的关键技术、应用场景以及未来发展趋势。 1. 简介 自然语言处…

小程序使用Nodejs作为服务端,Nodejs与与MYSQL数据库相连

小程序使用Nodejs作为服务端,Nodejs与MYSQL数据库相连 一、搭建环境二、配置Nodejs三、与小程序交互四、跨域处理/报错处理五、nodejs连接mysql数据库六、微信小程序连接nodejs报错七、小程序成功与服务端相连,且能操作数据库一、搭建环境 新建空文件夹:Win + R进入cmd命令界…

正则表达式IP地址

正则表达式基础语法 正则表达式-字符类 [abc]:代表a或者b,或者c字符中的一个。 [^abc]:代表除a,b,c以外的任何字符。 [a-z]:代表a-z的所有小写字符中的一个。 [A-Z]:代表A-Z的所有大写字符中的一个。 [0-9]&#xff…

hadoop-yarn简介及常用命令详解(超详细)

文章目录 前言一、YARN概述1. YARN简介2. YARN架构(1) ResourceManager(资源管理器)(2) NodeManager(节点管理器)(3) ApplicationMaster(应用程序管理器) 3. YARN特点(1) 分布式资源管理(2) 多框架支持(3) …

zlib - 编译

文章目录 zlib - 编译概述笔记编译win10 vs2019的zlib版本测试编译出的zlibDLL自己新建一个vs2019工程来编译zlibDll备注备注END zlib - 编译 概述 账单分析程序写完了, 处理excel时用到了libxlsxwriter. 看了一下libxlsxwriter主页, 有新版本. 想自己编译一个libxlsxwriter…

最新Redis7主从复制(保姆级教程)

前提准备:三台云服务器(吐血消费,点赞回血)也可以使用虚拟机创建三台,但是我搞了一天也连接不上,要是又可以连接上的大家可以教我一下,也可以参考一下或者大家可以参考一下这个大佬的配置&#…