首批通过分布式安全可靠测评,为关键业务系统打造
创建表 CREATE TABLE 的不兼容点
更新时间:2026-04-14 15:40:37
本文为您介绍迁移 MySQL 数据库的数据至 OceanBase 社区版时,MySQL 数据库执行的 CREATE TABLE DDL 支持被 OceanBase 迁移服务(OceanBase Migration Service,OMS)的 DDL 同步组件转换,但 OceanBase 社区版不支持执行的场景。
在生成列的基础上再定义生成列
通过 CREATE TABLE DDL 定义生成列时,表达式中使用了其它生成列。
MySQL 数据库:支持。
OceanBase 社区版:不支持。
示例如下:
CREATE TABLE group_by_t1
(a INT GENERATED ALWAYS AS (1) VIRTUAL,
b INT GENERATED ALWAYS AS (a) VIRTUAL,
c INT GENERATED ALWAYS AS (1) VIRTUAL);
创建索引或约束
创建约束时,MySQL 数据库和 OceanBase 社区版对于列的类型限制有所不同,详情请参见 创建索引或约束支持的字段类型。
创建外键约束的使用限制:
OceanBase 社区版:父表列需要存在 UNIQUE、PRIMARY 约束可以添加外键。
父表列是指外键约束中指定的父表中的被引用列(referenced column)。
MySQL 数据库:父表列需要存在任意一种 UNIQUE、PRIMARY、普通键约束可以添加外键。