开发指南—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 库:如何使用线程池实现高效异步编程
1040 0
|
存储 数据采集 机器学习/深度学习
谷歌大数据的三驾马车
当涉及到大规模数据处理时,谷歌公司一直是领先的技术创新者,已经在大数据技术方面有着非常强的实力。下面我将详细介绍谷歌的三项重要技术:Google Bigtable,Google MapReduce和Google File System (GFS)。
2979 1
谷歌大数据的三驾马车
|
7月前
|
缓存 自然语言处理 Android开发
Magnet Axiom 9.5 新增功能概览 - 数字取证与分析
Magnet Axiom 9.5 新增功能概览 - 数字取证与分析
235 5
Magnet Axiom 9.5 新增功能概览 - 数字取证与分析
|
存储 运维 监控
当游戏爱上MongoDB!阿里云&MongoDB中国区域游戏行业私享会
始于2019年底的新冠疫情改变了我们的生活方式,游戏成为了很多人排遣寂寞的一种方式,由此带来了游戏市场的异常火爆。游戏市场比拼的是谁能更快速地开发迭代,让玩家体验更佳,因此能够敏捷开发、快速扩展、全球部署和轻运维的数据库产品无疑将为游戏的开发和后期运营奠定良好的基础。 诚邀您与Mongo DB、阿里云数据库专家团队, 以及游戏行业同行共同探讨如何使用Mongo DB帮您打造全球化高效、易用、稳定的数据库架构,并为您详细解读MongoDB5.0新特性在游戏行业的最佳实践。
4377 1
当游戏爱上MongoDB!阿里云&MongoDB中国区域游戏行业私享会
|
SQL 关系型数据库 数据库
MySQL · 社区动态 · Online DDL 工具 gh-ost 支持阿里云 RDS
背景 Online DDL 一直都是 DBA 运维时比较头疼的事,一般都会选择在业务低峰期谨慎的操作,比较常用的几个工具比如 percona pt-online-schema-change , Facebook OSC, 本质上它们都是基于触发器的,简单来讲就是通过数据库的触发器把作用在源表的操作在一个事务内同步到修改后的表中,这在业务高峰期时会极大的加重主库的负载。
5566 0
|
JavaScript 前端开发 安全
Jsoup学习总结
Jsoup学习总结
249 5
|
开发框架 Java .NET
C#编程语言的优势与C++对比
C#编程语言的优势与C++对比
765 0
|
监控 NoSQL Redis
Redis监控数据分布工具Redis-audit 使用总结
Redis监控数据分布工具Redis-audit 使用总结
286 0
|
弹性计算
阿里云存在未支付订单导致无法下单解决方法
解决阿里云存在未支付订单请支付或作废后再下单,阿里云服务器或其他云资源无法立即购买,提示“您选择的资源存在未支付订单,请支付或作废后再下单!”什么原因?这是由于你的阿里云账号之前已经创建了该订单,只是订单没有支付,所以无法再次创建订单。解决方法是,要么取消之前的订单,要么支付之前的订单。阿里云百科来详细说下阿里云账号下存在未支付订单的解决方法:
1957 0
阿里云存在未支付订单导致无法下单解决方法
|
SQL 存储 关系型数据库
关于在 MySQL 排序中使用索引这件事!
关于在 MySQL 排序中使用索引这件事!

热门文章

最新文章