广告
返回顶部
首页 > 资讯 > 数据库 >PostgreSQL数据库实现表字段的自增
  • 868
分享到

PostgreSQL数据库实现表字段的自增

数据库postgresqlmysql 2023-08-19 11:08:22 868人浏览 八月长安
摘要

在使用Mysql的时候,创建表结构时可以通过关键字AUTO_INCREMENT来指定主键是否自增。在postgresql数据库中,使用序列来实现字段的自增。 Postgresql序列是一种特殊的用于生产整数序列数据库对象。序列通常用于主键列

在使用Mysql的时候,创建表结构时可以通过关键字AUTO_INCREMENT来指定主键是否自增。在postgresql数据库中,使用序列来实现字段的自增。

Postgresql序列是一种特殊的用于生产整数序列数据库对象。序列通常用于主键列,与mysql的AUTO_INCREMENT 概念类似。

PostgreSQL 提供三种序列伪类型,分别为SMALLSERIAL, SERIAL, BIGSERIAL,对应范围如下:

NameStorage SizeRange
SMALLSERIAL2 bytes1 to 32,767
SERIAL4 bytes1 to 2,147,483,647
BIGSERIAL8 bytes1 to 922,337,2036,854,775,807

创建表时使用SERIAL伪类型定义序列:

CREATE TABLE table_name(    id SERIAL);

赋值serial伪类型给id列,PostgreSQL将执行下列步骤:

  • 创建序列对象并设置下一个生成值作为列的缺省值。
  • 给对应列增加NOT NULL约束,因为序列总是生成一个整数值,不能为null值。
  • 赋值序列的拥有者给id列,因此当id列或表被删除时,序列对象自动被删除。

对应背后执行语句:

CREATE SEQUENCE table_name_id_seq; CREATE TABLE table_name (    id integer NOT NULL DEFAULT nextval('table_name_id_seq')); ALTER SEQUENCE table_name_id_seqOWNED BY table_name.id;

创建表时设置主键自增

创建表

CREATE TABLE student(    id   SERIAL PRIMARY KEY,    name VARCHAR);

插入数据

可以忽略对应列或使用default关键字都可以给serial赋值

INSERT INTO student(name) VALUES ('小明');INSERT INTO student(id, name) VALUES (DEFAULT, '小红');

修改已有表主键为自增

已有表结构

CREATE TABLE student(    id   int4 PRIMARY KEY,    name VARCHAR);

创建序列

CREATE SEQUENCE student_id_seq START 1;

代码中的1表示此主键从1开始,注意:如果项目中的表已经有数据,那么START 后边的数字一定要比数据库中的主键字段的最大值要大或者相同

修改主键默认值

ALTER TABLE student    ALTER COLUMN id SET DEFAULT nextval('student_id_seq'::reGClass);

也可使用Navicat设计表修改字段默认值
在这里插入图片描述

来源地址:https://blog.csdn.net/aaaaaaa1516682014292/article/details/128130697

您可能感兴趣的文档:

--结束END--

本文标题: PostgreSQL数据库实现表字段的自增

本文链接: https://www.lsjlt.com/news/375324.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PostgreSQL数据库实现表字段的自增
    在使用MySQL的时候,创建表结构时可以通过关键字AUTO_INCREMENT来指定主键是否自增。在PostgreSQL数据库中,使用序列来实现字段的自增。 PostgreSQL序列是一种特殊的用于生产整数序列数据库对象。序列通常用于主键列...
    99+
    2023-08-19
    数据库 postgresql mysql
  • 数据库如何增加表中字段
    小编给大家分享一下数据库如何增加表中字段,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!方法:1、使用“ALTER TABLE 表...
    99+
    2022-10-18
  • 更改postgresql数据表的自增id
    更改postgresql数据表的自增id 首先查看需要更改表的自增ID的索引名称:使用命令:\d you_table_name如下图所示,在Default一栏中 server_server_id_seq 即...
    99+
    2022-10-18
  • mysql数据库表增添字段,删除字段,修改字段的排列等操作
    目录一、mysql修改表名二、mysql修改数据的字段类型三、mysql修改字段名四、mysql添加字段1、添加没有约束性的字段2、添加一个有约束性的字段3、在表的第一列添加一个字段4、在数据表中指定列之后添加一个字段五...
    99+
    2022-07-26
    mysql数据库表增添字段 mysql数据库删除字段 mysql数据库修改字段
  • 数据库中对有自增长字段的表导入数据注意事项有哪些
    这篇文章主要介绍了数据库中对有自增长字段的表导入数据注意事项有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。对有自增长字段的表导入数据注...
    99+
    2022-10-19
  • oracle数据库表怎么实现自增主键
    这篇文章主要讲解了“oracle数据库表怎么实现自增主键”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“oracle数据库表怎么实现自增主键”吧!一、前言几天建表需要用到自增主键,于是使用序列...
    99+
    2023-07-02
  • oracle数据库表实现自增主键的方法实例
    目录一、前言二、实现主键自动增长1、创建表格2、创建自增序列3、创建触发器4、测试新增语句总结一、前言 几天建表需要用到自增主键,于是使用序列(sequence)和触发器(trigger)来实现主键自增,在网上查了一些知...
    99+
    2022-06-23
    oracle数据库怎么设置主键自增 oracle数据库设置id自增 oracle设置自增主键
  • Oracle实现主键字段自增的四种方式
    目录oracle实现主键自增有4种方式:方式一:Identity Columns新特性自增准备工作:方式二:创建自增序列,创建表时,给主键字段默认使用自增序列方式三:创建自增序列,使用触发器使主键自增方式四:创建自增序列...
    99+
    2023-03-13
    oracle中主键自增 oracle数据库怎么设置主键自增
  • Oracle实现主键字段自增的方式有哪些
    今天小编给大家分享一下Oracle实现主键字段自增的方式有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们...
    99+
    2023-03-15
    oracle
  • Postgresql数据库中的json类型字段使用示例详解
    目录1. json概述2. PostgreSQL数据库中使用Json类型字段2.1. 创建表定义字段信息2.2. 增加2.3. 查询键值2.3.1. 查询键2.3.2. 查询值2.3.3. where查询条件使...
    99+
    2023-02-09
    Postgresqljson类型字段使用 Postgresqljson字段
  • MYSQL数据库--定义表和字段的别名
    定义表和字段的别名 在查询时,可以为表和字段取一个别名,这个别名可以代替其指定的表和字段。为字段和表取别名,能够使查询更加方便。而且可以使查询结果以更加合理的方式显示。 为表取别名 当表的名称特别长时...
    99+
    2022-10-18
  • mysql数据库实现设置字段长度
    目录mysql设置字段长度1.关于char和varchar2.关于数字类型的长度mysql字段长度理解int类型varchar类型mysql设置字段长度 1.关于char和varch...
    99+
    2022-11-13
  • mysql创建存储过程实现往数据表中新增字段的方法分析
    本文实例讲述了mysql创建存储过程实现往数据表中新增字段的方法。分享给大家供大家参考,具体如下: 需求: 往某数据库的某个表中新增一个字段(若该字段已存在,则不做操作;若该字段不存在,则新增) 百度了n久...
    99+
    2022-10-18
  • Mysql数据库实现多字段过滤的方法
    我国移动互联网进入了飞速发展阶段,互联网人才日益受到企业的重视,其中PHP开发人才便是其中之一,在互联网旅游、金融、餐饮、娱乐、社交等一些新兴企业与软件开发企业中,PHP开发岗位相对占有核心地位,今天给大家...
    99+
    2022-10-18
  • 数据库中的图片字段怎么在报表中呈现
    数据库中的图片字段怎么在报表中呈现,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。概述报表除了以文字方式呈现内容,嵌入图片也是常见需求。图片的来源有很多种,比如应用目录、服务器应...
    99+
    2023-06-04
  • 数据库中的图片字段如何在报表中呈现
    本篇文章为大家展示了数据库中的图片字段如何在报表中呈现,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在 web 端我们查看一些数据时,为了方便用户理解数据的计算方法,会在鼠标指向格子的时候出现一些提...
    99+
    2023-06-03
  • 数据库设计之数据库,数据表和字段等的命名总结
    数据库命名规则:根据项目的实际意思来命名。 数据表命名规则:1.数据表的命名大部分都是以名词的复数形式并且都为小写;2.尽量使用前缀"table_";3.如果数据表的表名是由多个单词组成,则尽量用...
    99+
    2022-10-18
  • SQL Server数据库中的表名称和字段实例分析
    这篇文章主要介绍“SQL Server数据库中的表名称和字段实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SQL Server数据库中的表名称和字段实例分析...
    99+
    2022-10-19
  • MyBatis-Plus 实现数据库字段更新为 NULL
    feeMapper.update(Wrappers.lambdaUpdate() .eq(FeePO::getId, feeDO.getId()) .set(ObjectUtils.isNotEmpty(feeDO.get...
    99+
    2016-02-29
    MyBatis-Plus 实现数据库字段更新为 NULL
  • mysql数据库表和字段编码的修改方法
    本篇内容介绍了“mysql数据库表和字段编码的修改方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!用lo...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作