[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站等视频
511 0
GEE:如何批量处理并下载指定时间范围的月尺度NDVI数据集(MOD09GA为例)
GEE:如何批量处理并下载指定时间范围的月尺度NDVI数据集(MOD09GA为例)
1312 0
|
5月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.98 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.98 (macOS, Linux, Windows) - 开源渗透测试框架
324 1
Metasploit Framework 6.4.98 (macOS, Linux, Windows) - 开源渗透测试框架
|
8月前
|
消息中间件 缓存 NoSQL
《分布式系统跨服务数据一致性Bug深度复盘:从现象到本质的排查与破局》
本文复盘企业级电商中台订单履约模块的跨服务数据一致性Bug,技术环境为Spring Cloud微服务架构,依赖Seata分布式事务、MySQL主从、Redis缓存等。高并发压测时出现订单与库存/物流单数据不一致、分布式事务失效等随机异常。通过排查,定位出事务边界遗漏、MySQL主从延迟+缓存更新策略不当、RabbitMQ消息自动确认致重复消费三大核心问题。针对性提出重构分布式事务、优化数据同步机制、完善消息消费策略的解决方案,并提炼出分布式系统数据一致性的五大避坑原则,为后端开发者提供高并发场景下系统稳定性优化的实践参考。
180 6
|
10月前
|
开发工具 开发者
HarmonyOS NEXT实战:播放视频
本教程介绍如何在HarmonyOS SDK中使用Video组件实现视频播放、暂停、结束、重置及跳转播放等功能,适用于教育类应用开发,提升视频交互体验。
405 1
|
9月前
|
数据安全/隐私保护 Python
淘宝购买记录生成器,淘宝订单生成器在线制作,淘宝购买截图生成【python】
这段代码展示了如何使用Python生成模拟的淘宝订单数据,包括订单ID、购买时间、买家信息
|
测试技术 Python
Pytest系列(16)- 分布式测试插件之pytest-xdist的详细使用
Pytest系列(16)- 分布式测试插件之pytest-xdist的详细使用
960 0
|
SQL Java 数据库连接
【潜意识Java】深入理解MyBatis,从基础到高级的深度细节应用
本文详细介绍了MyBatis,一个轻量级的Java持久化框架。内容涵盖MyBatis的基本概念、配置与环境搭建、基础操作(如创建实体类、Mapper接口及映射文件)以及CRUD操作的实现。此外,还深入探讨了高级特性,包括动态SQL和缓存机制。通过代码示例,帮助开发者更好地掌握MyBatis的使用技巧,提升数据库操作效率。总结部分强调了MyBatis的优势及其在实际开发中的应用价值。
473 1
|
云安全 弹性计算 安全
带你读《阿里云安全白皮书》(十九)——云上安全重要支柱(13)
本文介绍了阿里云在全链路身份管控与精细化授权方面的措施,包括使用短期有效的 STS Token 替代长期有效的 AccessKey (AK),通过 ECS 实例角色和 RRSA 功能实现应用隔离和权限最小化,以及利用 KMS 托管和加密 AK 凭证,减少凭证泄露风险。此外,阿里云还提供了 AK 审计和泄露风控功能,帮助客户管理和保护凭证安全。
|
人工智能 搜索推荐 安全
人工智能与未来社会:探索AI在教育领域的革命性影响
本文深入探讨了人工智能(AI)技术在教育领域的潜在影响和变革。通过分析AI如何个性化学习路径、提高教学效率以及促进教育资源的公平分配,我们揭示了AI技术对教育模式的重塑力量。文章还讨论了实施AI教育所面临的挑战,包括数据隐私、伦理问题及技术普及障碍,并提出了相应的解决策略。通过具体案例分析,本文旨在启发读者思考AI如何助力构建更加智能、高效和包容的教育生态系统。

热门文章

最新文章

下一篇
开通oss服务