CREATE SHARDING KEY GENERATOR
描述
CREATE SHARDING KEY GENERATOR 语法用于为当前所选逻辑库创建独立的分布式主键生成器。
语法定义
CreateShardingKeyGenerator ::=
'CREATE' 'SHARDING' 'KEY' 'GENERATOR' ifNotExists? keyGeneratorName '(' algorithmDefinition ')'
ifNotExists ::=
'IF' 'NOT' 'EXISTS'
algorithmDefinition ::=
'TYPE' '(' 'NAME' '=' algorithmType (',' propertiesDefinition)? ')'
propertiesDefinition ::=
'PROPERTIES' '(' (key '=' value (',' key '=' value)*)? ')'
key ::=
string
value ::=
literal
keyGeneratorName ::=
identifier
algorithmType ::=
string补充说明
keyGeneratorName为独立分布式主键生成器名称;algorithmDefinition用于定义主键生成器算法及其参数;algorithmType为主键生成算法类型,详细信息请参考分布式主键;ifNotExists子句用于避免出现Duplicate sharding key generator错误。
示例
- 创建分布式主键生成器
CREATE SHARDING KEY GENERATOR snowflake_generator (
TYPE(NAME="SNOWFLAKE",PROPERTIES("worker-id"=1))
);- 使用
ifNotExists子句创建分布式主键生成器
CREATE SHARDING KEY GENERATOR IF NOT EXISTS snowflake_generator (
TYPE(NAME="SNOWFLAKE")
);保留字
CREATE、SHARDING、KEY、GENERATOR、IF、NOT、EXISTS、TYPE、NAME、PROPERTIES