复古 护眼 海天 深邃 暗黑 默认

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")
);

保留字

CREATESHARDINGKEYGENERATORIFNOTEXISTSTYPENAMEPROPERTIES

相关链接