[postgres]序列

简介: [postgres]序列

前言

序列都是用create sequence命令创建的单行表,常用于为表的行生成唯一的标识符。

相关函数

函数 作用
nextval() 递增序列并返回新值
currval() 返回最近一次用nextval()函数获取的指定序列的值
lastval() 返回最近一次用nextval()函数获取的任何序列的值
setval() 设置序列的当前值

基本操作

  • 创建递增序列,最小为0,步长为2,从4开始自增
create sequence seqtest as int increment 2 minvalue 0 start 4;
  • 列出序列
select *  FROM pg_catalog.pg_sequences;
  • 递增序列并返回新值
select nextval('seqtest');
--       4
select nextval('seqtest');
--       6
select nextval('seqtest');
--       8
  • 返回最近一次用nextval()函数获取的指定序列的值
select currval('seqtest');
-- 8
  • 返回最近一次用nextval()函数获取的任何序列的值
select lastval();
-- 8
  • 设置序列当前值
select setval('seqtest', 20);
  • 删除序列
drop sequence if exists public.seqtest;
  • 建表时指定主键为序列
CREATE TABLE my_table (
    id INTEGER PRIMARY KEY DEFAULT NEXTVAL('seqtest'),
    c1 VARCHAR(50)
);
-- 写入数据测试
insert into my_table (c1) VALUES ('asdf');
相关文章
|
Go Windows
windows安装scoop/annie下载B站等视频
windows安装scoop/annie下载B站等视频
374 0
|
存储 Java 数据库连接
php学习笔记-代码基本语法-day01
本文是关于PHP编程语言的基础语法学习笔记,内容包括PHP的介绍、注释风格、数据类型、命名规范、常量和变量的使用,以及变量和常量相关的常用函数。文中详细解释了PHP的基本语法元素和一些易混淆的概念,如传值赋值与传址赋值、可变变量,以及如何检查变量是否已定义或为空。
php学习笔记-代码基本语法-day01
|
测试技术 Python
Pytest系列(16)- 分布式测试插件之pytest-xdist的详细使用
Pytest系列(16)- 分布式测试插件之pytest-xdist的详细使用
843 0
|
弹性计算 并行计算 Linux
【玩转AIGC系列】从0快速搭建个人版“对话大模型”
本教程介绍如何在阿里云GPU云服务器上基于Alpaca大模型快速搭建个人版“对话大模型”。
【玩转AIGC系列】从0快速搭建个人版“对话大模型”
|
存储 人工智能
字符指针变量和字符数组注意事项(区别)
字符指针变量和字符数组注意事项(区别)
114 0
剑指 Offer 57 - II:和为s的连续正数序列
剑指 Offer 57 - II:和为s的连续正数序列
78 0
|
JSON Java fastjson
JackJSON的用法
网上大多数都是FastJSON的用法,很少有JackJSON的用法。我总结了几个自己经常用到的,供大家参考。
|
NoSQL MongoDB 索引
MongoDB(12)- 查询嵌入文档的数组
MongoDB(12)- 查询嵌入文档的数组
283 0
MongoDB(12)- 查询嵌入文档的数组
|
调度 开发者
priority task1 实验过程|学习笔记
快速学习 priority task1 实验过程
142 0
|
Arthas Cloud Native Dubbo
用 Arthas “庖丁解牛”
生产环境的 bug 开发环境无法复现怎么办?关键位置没有打印日志信息不足怎么办?莫慌,骚年。让强大的 Arthas法师来 carry,带你去生产环境"遨游"闯关。
用 Arthas “庖丁解牛”