开发指南—Sequence—隐式用法—CREATE TABLE

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 在为拆分表或广播表的主键定义AUTO_INCREMENT后,Sequence可以用于自动填充主键,由PolarDB-X自动维护。 扩展标准建表语法,增加了自增列的Sequence类型,如果未指定类型关键字,则默认类型为GROUP。PolarDB-X自动创建的、跟表相关联的Sequence名称,都是以AUTO_SEQ_为前缀,后面加上表名。

Group Sequence、Time-based Sequence或Simple Sequence

创建Group SequenceTime-based SequenceSimple Sequence作为自增列的表语法如下:


CREATE TABLE <name> (
   <column> ... AUTO_INCREMENT [ BY GROUP | SIMPLE | TIME ],
   <column definition>,
   ...
) ... AUTO_INCREMENT=<start value>


说明 如果指定了BY TIME,即Time-based Sequence,则该列类型必须为BIGINT。

单元化Group Sequence

创建单元化Group Sequence的表语法如下:


CREATE TABLE <name> (

<column> ... AUTO_INCREMENT [ BY GROUP ] [ UNIT COUNT <numeric value> INDEX <numeric value> ],
<column definition>,
...
) ... AUTO_INCREMENT=<start value>

示例

示例一:默认创建一张使用Group Sequence作为自增列的表。

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


mysql> CREATE TABLE tab1 (
col1 BIGINT NOT NULL AUTO_INCREMENT,
col2 VARCHAR(16),
PRIMARY KEY(col1)
) DBPARTITION BY HASH(col1);

示例二:创建3张同名的、使用相同单元数量和不同单元索引的单元化Group Sequence作为自增列的表,分别用于3个不同的实例或库。

  1. 实例1/库1请在命令行输入如下代码:
mysql> CREATE TABLE tab2 (
col1 BIGINT NOT NULL AUTO_INCREMENT UNIT COUNT 3 INDEX 0,
col2 VARCHAR(16),
PRIMARY KEY(col1)
) DBPARTITION BY HASH(col1);
  1. 实例2/库2请在命令行输入如下代码:
mysql> CREATE TABLE tab2 (
col1 BIGINT NOT NULL AUTO_INCREMENT UNIT COUNT 3 INDEX 1,
col2 VARCHAR(16),
PRIMARY KEY(col1)
) DBPARTITION BY HASH(col1);
  1. 实例3/库3请在命令行输入如下代码:
mysql> CREATE TABLE tab2 (
col1 BIGINT NOT NULL AUTO_INCREMENT UNIT COUNT 3 INDEX 2,
col2 VARCHAR(16),
PRIMARY KEY(col1)
) DBPARTITION BY HASH(col1);

示例三:创建一张使用Time-based Sequence作为自增列的表。

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


mysql> CREATE TABLE tab3 (
col1 BIGINT NOT NULL AUTO_INCREMENT BY TIME,
col2 VARCHAR(16),
PRIMARY KEY(col1)
) DBPARTITION BY HASH(col1);

示例四:创建一张使用Simple Sequence作为自增列的表。

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


mysql> CREATE TABLE tab4 ( 
col1 BIGINT NOT NULL AUTO_INCREMENT BY SIMPLE,
col2 VARCHAR(16),
PRIMARY KEY(col1)
) DBPARTITION BY HASH(col1);
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
|
Java
【java】poi 设置允许西文在单词中间换行
【java】poi 设置允许西文在单词中间换行
|
7月前
|
机器学习/深度学习 自然语言处理 PyTorch
VLLM (Very Large Language Model)
VLLM (Very Large Language Model) 是一种大型语言模型,通常具有数十亿或数万亿个参数,用于处理自然语言文本。VLLM 可以通过预训练和微调来执行各种任务,如文本分类、机器翻译、情感分析、问答等。
569 1
|
Kubernetes 容器 Perl
kubeadm初始化k8s集群延长证书过期时间
kubeadm初始化k8s集群延长证书过期时间
|
存储 运维 Serverless
【函数计算实践】一个应用案例
本文起源于一个用户匹配的需求。用户的不同信息分布于两个系统,且客观上无法直接打通(不必纠结具体是什么场景,这是真实存在,且非技术上能解决的),所以就涉及到两个系统id匹配的问题。
293 0
|
安全
如何查询阿里云账号uid?
阿里云账号UID查询方法
3680 0
如何查询阿里云账号uid?
|
4月前
|
数据采集 安全 大数据
隧道代理的定义与应用指南
隧道代理是一种特殊的代理服务,它允许用户通过固定的服务器IP和端口访问互联网。在这个过程中,云端服务器负责自动切换IP地址,从而实现匿名访问。这种服务使用高性能主机构建的动态IP代理服务器,使开发者无需管理IP池,降低了开发难度和部署成本。
|
5月前
|
SQL DataWorks 关系型数据库
DataWorks操作报错合集之分区表的分区数量已经达到或者超过系统允许的最大值,该如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
7月前
|
人工智能 BI
区间问题之区间覆盖(看一遍就会系列)
区间问题之区间覆盖(看一遍就会系列)
|
7月前
|
小程序 JavaScript 数据可视化
微信小程序innerHTML解决方案
微信小程序innerHTML解决方案
96 0
|
关系型数据库 数据库 PostgreSQL
PostgreSQL 的事务管理和并发控制机制解析
PostgreSQL 的事务管理和并发控制机制解析
311 0

相关实验场景

更多