---
title: "创建表 CREATE TABLE 的不兼容点 | OceanBase 文档中心"
description: 创建表 CREATE TABLE 的不兼容点 本文为您介绍迁移 MySQL 数据库的数据至 OceanBase 社区版时，MySQL 数据库执行的 CREATE TABLE DDL 支持被 OceanBase 迁移服务（OceanBase Migration Service，OMS）的 DDL 同步组件转换，但 Oc…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*L03BS6f-o40AAAAAAAAAAAAADiGDAQ/original) 迁移服务 OMSV 4.2.1 社区版

# 创建表 CREATE TABLE 的不兼容点

更新时间：2026-04-14 15:40:37

[编辑](https://github.com/oceanbase/oms-doc/edit/V4.2.1/zh-CN/600.data-migration/1700.supported-ddl-operations-for-incremental-migration-and-limits/100.mysql-to-obmysql/1000.mysql-incompatible/200.create-table-incompatible/100.create-table-incompatible-overview.md)  

本文为您介绍迁移 MySQL 数据库的数据至 OceanBase 社区版时，MySQL 数据库执行的 CREATE TABLE DDL 支持被 OceanBase 迁移服务（OceanBase Migration Service，OMS）的 DDL 同步组件转换，但 OceanBase 社区版不支持执行的场景。

## 在生成列的基础上再定义生成列

通过 CREATE TABLE DDL 定义生成列时，表达式中使用了其它生成列。

- MySQL 数据库：支持。
 - OceanBase 社区版：不支持。

示例如下：

```sql
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 社区版对于列的类型限制有所不同，详情请参见 [创建索引或约束支持的字段类型](https://www.oceanbase.com/docs/community-oms-cn-1000000000426047)。
 - 创建外键约束的使用限制：

     - OceanBase 社区版：父表列需要存在 UNIQUE、PRIMARY 约束可以添加外键。

      父表列是指外键约束中指定的父表中的被引用列（referenced column）。
     - MySQL 数据库：父表列需要存在任意一种 UNIQUE、PRIMARY、普通键约束可以添加外键。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
