开发指南—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>

参数说明

参数 说明
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;
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
JavaScript 数据可视化 图形学
iCraft Editor - 助你轻松绘制出色的立体架构图
iCraft Editor是一款创新工具,专为绘制立体架构图设计,带来直观且吸引人的3D视觉体验。它简化了复杂系统的表达,支持自由旋转与缩放,让用户从多角度审视设计。简洁界面与丰富图形库让操作变得简单快捷,即使是新手也能迅速上手。iCraft Editor支持子场景嵌套及外部模型导入,适用于软件架构设计、系统部署维护等多种场景,提升沟通效率。无需编程基础,即可在线免费使用,轻松实现复杂设计的可视化。开启3D新视角,让您的创意无限延伸![官网](https://icraft.gantcloud.com)
2613 1
iCraft Editor - 助你轻松绘制出色的立体架构图
|
XML 安全 Java
接口测试、管理神器-Swagger
接口测试、管理神器-Swagger
576 0
|
分布式数据库 Hbase
连接HBase的正确姿势
在云HBase值班的时候,经常会遇见有用户咨询诸如“HBase是否支持连接池?”这样的问题,也有用户因为应用中创建的Connection对象过多,触发了zookeeper的连接数限制,导致客户端连不上的。
15192 1
|
Kotlin
RxBinding的使用
RxBinding介绍 RxBinding是JakeWharton的一个开源库 , 它提供了一套基于RxJava的BindingApI. 可以帮助我们简化控件/视图添加的触发的响应事件,而且使用起来非常简单 RxBinding在github上的地址 点击打开链接 集成RxBinding的准备工作 在build.
1416 0
|
Python 数据库管理 数据库
|
Web App开发 存储 移动开发