开发指南—Sequence—显示用法—创建Sequence

简介: 本文主要介绍如何创建各种类型的Sequence。

Group Sequence

语法


CREATE [ GROUP ] SEQUENCE <name>
[ START WITH <numeric value> ]

参数说明

参数 说明
START WITH Group Sequence 的起始值,若未指定,则默认起始值为100001。

示例

创建一个Group Sequence:

  • 方法一请在命令行输入如下代码:
mysql> CREATE SEQUENCE seq1;
  • 方法二请在命令行输入如下代码:
mysql> CREATE GROUP SEQUENCE seq1;

单元化 Group Sequence

语法


CREATE [ GROUP ] SEQUENCE <name>
[ START WITH <numeric value> ]
[ UNIT COUNT <numeric value> INDEX <numeric value> ]

参数说明

参数 说明
START WITH 单元化Group Sequence的起始值,默认起始值依赖于单元数量和单元索引;若单元数量和单元索引未被指定或为默认值,则默认起始值为100001。
UNIT COUNT 单元化Group Sequence的单元数量,默认值为1。
INDEX 单元化Group Sequence的单元索引,取值范围为 [ 0, 单元数量 - 1 ],默认值为0。


说明

  • 如果未指定类型关键字,则默认类型为 Group Sequence
  • Group Sequence单元化Group Sequence是非连续的。START WITH参数对于它们仅具有指导意义,Group Sequence单元化Group Sequence不会严格按照该参数作为起始值,但是保证起始值比该参数大。
  • 可以将Group Sequence看作单元化Group Sequence的一个特例,即UNIT COUNT = 1 且 INDEX = 0 时的单元化Group Sequence

示例

创建包含3个单元的全局唯一数字序列(将3个同名的、指定了相同单元数量和不同单元索引的单元化Group Sequence,分别用于3个不同的实例或库,组成一个全局唯一数字序列)。

  1. 实例1/库1:
mysql> CREATE GROUP SEQUENCE seq2 UNIT COUNT 3 INDEX 0;
  1. 实例2/库2:
mysql> CREATE GROUP SEQUENCE seq2 UNIT COUNT 3 INDEX 1;
  1. 实例3/库3:
mysql> CREATE GROUP SEQUENCE seq2 UNIT COUNT 3 INDEX 2;

Time-based Sequence

语法


CREATE TIME SEQUENCE <name>


注意 存储Time-based Sequence值的列必须为BIGINT类型。

示例

创建一个Time-based Sequence:

请在命令行输入如下代码:


7mysql> CREATE TIME SEQUENCE seq3;

Simple Sequence

语法


CREATE SIMPLE SEQUENCE <name>
[ START WITH <numeric value> ]
[ INCREMENT BY <numeric value> ]
[ MAXVALUE <numeric value> ][ CYCLE | NOCYCLE ]

参数说明

参数 说明
START WITH Simple Sequence的起始值,若未指定,则默认起始值为1。
INCREMENT BY Simple Sequence每次增长时的增量值(或称为间隔值或步长),若未指定,则默认值为1。
MAXVALUE Simple Sequence允许的最大值,若未指定,则默认值为有符号长整型(Signed BIGINT)的最大值,即9223372036854775807。
CYCLE 或 NOCYCLE 两者只能选择其一,代表当Simple Sequence增长到最大值后,是否允许继续循环(即从START WITH重新开始)使用该Simple Sequence。若未指定,则默认值为NOCYCLE。

示例

创建一个Simple Sequence,起始值是1000,步长为2,最大值为99999999999,增长到最大值后不继续循环。

请在命令行输入如下代码:


mysql> CREATE SIMPLE SEQUENCE seq4 START WITH 1000 INCREMENT BY 2 MAXVALUE 99999999999 NOCYCLE;
相关文章
|
Java 调度 Python
深入解析 Python asyncio 库:如何使用线程池实现高效异步编程
深入解析 Python asyncio 库:如何使用线程池实现高效异步编程
939 0
|
5月前
|
缓存 自然语言处理 Android开发
Magnet Axiom 9.5 新增功能概览 - 数字取证与分析
Magnet Axiom 9.5 新增功能概览 - 数字取证与分析
196 5
Magnet Axiom 9.5 新增功能概览 - 数字取证与分析
|
Linux
CentOS7下搭建Jellyfin个人流媒体服务器
CentOS7下搭建Jellyfin个人流媒体服务器
1854 0
CentOS7下搭建Jellyfin个人流媒体服务器
|
存储 运维 监控
当游戏爱上MongoDB!阿里云&MongoDB中国区域游戏行业私享会
始于2019年底的新冠疫情改变了我们的生活方式,游戏成为了很多人排遣寂寞的一种方式,由此带来了游戏市场的异常火爆。游戏市场比拼的是谁能更快速地开发迭代,让玩家体验更佳,因此能够敏捷开发、快速扩展、全球部署和轻运维的数据库产品无疑将为游戏的开发和后期运营奠定良好的基础。 诚邀您与Mongo DB、阿里云数据库专家团队, 以及游戏行业同行共同探讨如何使用Mongo DB帮您打造全球化高效、易用、稳定的数据库架构,并为您详细解读MongoDB5.0新特性在游戏行业的最佳实践。
4336 1
当游戏爱上MongoDB!阿里云&MongoDB中国区域游戏行业私享会
|
JavaScript 前端开发 安全
Jsoup学习总结
Jsoup学习总结
202 5
|
存储 NoSQL 编译器
【C语言】指针的神秘探险:从入门到精通的奇幻之旅 !
指针是一个变量,它存储另一个变量的内存地址。换句话说,指针“指向”存储在内存中的某个数据。
426 7
【C语言】指针的神秘探险:从入门到精通的奇幻之旅 !
|
移动开发 JavaScript 前端开发
html table+css实现可编辑表格的示例代码
html table+css实现可编辑表格的示例代码
400 12
|
自然语言处理 搜索推荐 关系型数据库
elasticsearch学习六:学习 全文搜索引擎 elasticsearch的语法,使用kibana进行模拟测试(持续更新学习)
这篇文章是关于Elasticsearch全文搜索引擎的学习指南,涵盖了基本概念、命令风格、索引操作、分词器使用,以及数据的增加、修改、删除和查询等操作。
358 0
elasticsearch学习六:学习 全文搜索引擎 elasticsearch的语法,使用kibana进行模拟测试(持续更新学习)
|
开发框架 Java .NET
C#编程语言的优势与C++对比
C#编程语言的优势与C++对比
678 0
|
网络协议 网络性能优化 数据安全/隐私保护
IPV4与IPV6之间的区别
IPv4(32位,42.9亿地址)面临枯竭,促成了IPv6(128位,近乎无限地址)的诞生。IPv6增强安全性,提供身份验证,使用灵活的ICMPv6和SLAAC配置地址,其十六进制表示法区别于IPv4的点分十进制。IPv6还优化了数据包处理,包含Flow Label以提升服务质量,使用AAAA记录进行DNS映射。随着需求增长,IPv6正逐步成为标准。