天天看點

開發指南—Sequence—隐式用法—CREATE TABLE

Group Sequence、Time-based Sequence或Simple Sequence

建立Group Sequence、Time-based Sequence或Simple 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);      

繼續閱讀