首批通过分布式安全可靠测评,为关键业务系统打造
创建列
更新时间:2026-04-14 15:40:37
本文为您介绍迁移 MySQL 数据库的数据至 OceanBase 社区版时,CREATE TABLE DDL 创建列的支持范围。
语法总览
create_definition:
col_name column_definition
column_definition: {
data_type [NOT NULL | NULL] [DEFAULT {literal | (expr)} ]
[VISIBLE | INVISIBLE]
[AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[COLLATE collation_name]
[COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}]
[ENGINE_ATTRIBUTE [=] 'string']
[SECONDARY_ENGINE_ATTRIBUTE [=] 'string']
[STORAGE {DISK | MEMORY}]
[reference_definition]
[check_constraint_definition]
| data_type
[COLLATE collation_name]
[GENERATED ALWAYS] AS (expr)
[VIRTUAL | STORED] [NOT NULL | NULL]
[VISIBLE | INVISIBLE]
[UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[reference_definition]
[check_constraint_definition]
}
支持的范围
数据类型的支持详情请参见 数据类型转换。
支持指定 NULL / NOT NULL 属性。
支持指定 DEFAULT 值:支持 DEFAULT 值为常量或函数。
支持指定 VISIBLE / INVISIBLE 属性。
支持指定 AUTO_INCREMENT。
支持指定 COMMENT。
支持指定 COLLATE。
支持指定生成列,支持生成列指定 VIRTUAL | STORED 属性。
支持指定 UNIQUE KEY / PRIMARY KEY / KEY,详情请参见 创建索引或约束。
支持指定 CHECK 约束,详情请参见 创建索引或约束。
注意
仅 OceanBase 数据库 MySQL 3.2.3 及之后版本支持。
支持指定外键,详情请参见 创建索引或约束。
忽略的属性
说明
如果同步的 DDL 中包含以下属性的定义,则这些属性不会被解析和转换,最终会被忽略。
指定 COLUMN_FORMAT 属性。
指定 ENGINE_ATTRIBUTE 属性。
指定 SECONDARY_ENGINE_ATTRIBUTE 属性。
指定 STORAGE 属性。
使用限制
警告
由于 OceanBase 社区版本身的限制,如果存在以下场景,同步的 DDL 被成功转换后,执行到 OceanBase 社区版可能会报错。
OceanBase 社区版不支持在 DEFAULT 中指定某些函数/表达式。
OceanBase 社区版不支持在生成列中指定某些函数/表达式。
OceanBase 社区版不支持某些字段类型被指定 UNIQUE KEY / PRIMARY KEY / KEY。
OceanBase 社区版不支持某些 COLLATE,详情请参见 字符序。