---
title: "有约束的列修改类型 | OceanBase 文档中心"
description: 有约束的列修改类型 本文为您介绍 MySQL 数据库和 OceanBase 社区版对于修改不同约束下的列的字段类型的不兼容场景。 说明 本文表格中，对比类型空白表示相应约束下不支持该类型、短横线（-）表示没有、all 表示全部类型。 主键（PRIMAEY KEY）约束下字段类型的修改 如果 主键 列中包含下表中的字段…
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

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

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

# 有约束的列修改类型

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

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

本文为您介绍 MySQL 数据库和 OceanBase 社区版对于修改不同约束下的列的字段类型的不兼容场景。

#### 说明

本文表格中，对比类型空白表示相应约束下不支持该类型、短横线（-）表示没有、all 表示全部类型。

## 主键（PRIMAEY KEY）约束下字段类型的修改

如果 **主键** 列中包含下表中的字段类型，通过 ALTER TABLE table_name MODIFY / CHANGE COLUMN DDL，对该列进行字段类型修改操作，MySQL 数据库和 OceanBase 社区版的区别如下。

| MySQL 数据库的字段类型 | 允许执行修改的类型 | OceanBase 社区版的字段类型 | 允许执行修改的类型 |
| --- | --- | --- | --- |
| INT | all | INTEGER | - |
| TINYINT | all | TINYINT | BOOLEAN |
| SMALLINT | all | SMALLINT | - |
| MEDIUMINT | all | MEDIUMINT | - |
| BIGINT | all | BIGINT | - |
| BOOL | all | BOOLEAN | TINYINT |
| DECIMAL | all | DECIMAL | - |
| NUMERIC | all | NUMERIC | - |
| REAL | all | FLOAT | - |
| DOUBLE | all | DOUBLE | - |
| FLOAT | all | FLOAT | - |
| BIT | all | BIT | - |
| CHAR | all | CHAR | - |
| NCHAR | all | CHAR | - |
| VARCHAR | all | VARCHAR | - |
| BINARY | all | BINARY | - |
| VARBINARY | all | VARBINARY | - |
| LONG VARBINARY | all |  | |
| YEAR | all | YEAR | - |
| DATE | all | DATE | - |
| TIME | all | TIME | - |
| TIMESTAMP | all | TIMESTAMP | - |
| DATETIME | all | DATETIME | - |
| TINYBLOB | all |  | |
| MEDIUMBLOB | all |  | |
| BLOB | all |  | |
| LONGBLOB | all |  | |
| TINYTEXT | all |  | |
| MEDIUMTEXT | all |  | |
| TEXT | all |  | |
| LONGTEXT | all |  | |
| ENUM | all | ENUM | - |
| SET | all | SET | - |
| JSON | all |  | |

## 唯一键（UNIQUE KEY）约束下字段类型的修改

如果 **唯一键** 列中包含上述表格中的字段类型，通过 ALTER TABLE table_name MODIFY / CHANGE COLUMN DDL 对该列进行字段类型修改操作，MySQL 数据库和 OceanBase 社区版的区别与主键（PRIMAEY KEY）约束下字段类型的修改一致。

## 普通键（KEY）约束下字段类型修改

如果 **普通键** 列中包含上述表格中的字段类型，通过 ALTER TABLE table_name MODIFY / CHANGE COLUMN DDL 对该列进行字段类型修改操作，MySQL 数据库和 OceanBase 社区版的区别与主键（PRIMAEY KEY）约束下字段类型的修改一致。

## 外键（FOREIGN KEY）约束下字段类型的修改

如果 **外键** 列中包含上述表格中的字段类型，通过 ALTER TABLE table_name MODIFY / CHANGE COLUMN DDL 对该列进行字段类型修改操作，MySQL 数据库和 OceanBase 社区版的区别与主键（PRIMAEY KEY）约束下字段类型的修改一致。

## 全文索引（FULLTEXT）约束下字段类型的修改

如果 **全文索引** 列中包含下表中的字段类型，通过 ALTER TABLE table_name MODIFY / CHANGE COLUMN DDL 对该列进行字段类型修改操作，MySQL 数据库和 OceanBase 社区版的区别如下。

| MySQL 数据库的字段类型 | 允许执行修改的类型 | OceanBase 社区版的字段类型 | 允许执行修改的类型 |
| --- | --- | --- | --- |
| CHAR | all | CHAR | - |
| VARCHAR | all | VARCHAR | - |
| TINYTEXT | all | TINYTEXT | - |
| MEDIUMTEXT | all | MEDIUMTEXT | - |
| TEXT | all | TEXT | - |
| LONGTEXT | all | LONGTEXT | - |
|  |  | BINARY | - |
|  |  | VARBINARY | - |
| NCHAR | all | CHAR | - |
| JSON | all |  | |

 上一篇 下一篇 ![有帮助](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) 咨询热线
