---
title: "删除有约束的列 | OceanBase 文档中心"
description: 删除有约束的列 本文为您介绍 MySQL 数据库和 OceanBase 社区版对于删除不同约束下字段的不兼容场景。 说明 本文表格中，对比类型空白表示相应约束下不支持该类型。 删除主键（PRIMARY KEY）约束下的列 如果删除的 主键列 中包含下表中的字段类型，通过 ALTER TABLE DDL 语句进行删除列…
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.5 社区版

# 删除有约束的列

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

[编辑](https://github.com/oceanbase/oms-doc/edit/V4.2.5/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/600.alter-table-incompatible-6.md)  

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

#### 说明

本文表格中，对比类型空白表示相应约束下不支持该类型。

## 删除主键（PRIMARY KEY）约束下的列

如果删除的 **主键列** 中包含下表中的字段类型，通过 ALTER TABLE DDL 语句进行删除列操作时，MySQL 数据库和 OceanBase 社区版的区别如下。

| MySQL 数据库的字段类型 | 是否允许执行删除 | OceanBase 社区版的字段类型 | 是否允许执行删除 |
| --- | --- | --- | --- |
| INT | 允许 | INTEGER | 不允许 |
| TINYINT | 允许 | TINYINT | 不允许 |
| SMALLINT | 允许 | SMALLINT | 不允许 |
| MEDIUMINT | 允许 | MEDIUMINT | 不允许 |
| BIGINT | 允许 | BIGINT | 不允许 |
| BOOL | 允许 | BOOLEAN | 不允许 |
| DECIMAL | 允许 | DECIMAL | 不允许 |
| NUMERIC | 允许 | NUMERIC | 不允许 |
| REAL | 允许 | FLOAT | 不允许 |
| DOUBLE | 允许 | DOUBLE | 不允许 |
| FLOAT | 允许 | FLOAT | 不允许 |
| BIT | 允许 | BIT | 不允许 |
| CHAR | 允许 | CHAR | 不允许 |
| NCHAR | 允许 | CHAR | 不允许 |
| VARCHAR | 允许 | VARCHAR | 不允许 |
| BINARY | 允许 | BINARY | 不允许 |
| VARBINARY | 允许 | VARBINARY | 不允许 |
| LONG VARBINARY | 允许 |  | |
| YEAR | 允许 | YEAR | 不允许 |
| DATE | 允许 | DATE | 不允许 |
| TIME | 允许 | TIME | 不允许 |
| TIMESTAMP | 允许 | TIMESTAMP | 不允许 |
| DATETIME | 允许 | DATETIME | 不允许 |
| TINYBLOB | 允许 |  | |
| MEDIUMBLOB | 允许 |  | |
| BLOB | 允许 |  | |
| LONGBLOB | 允许 |  | |
| TINYTEXT | 允许 |  | |
| MEDIUMTEXT | 允许 |  | |
| TEXT | 允许 |  | |
| LONGTEXT | 允许 |  | |
| ENUM | 允许 | ENUM | 不允许 |
| SET | 允许 | SET | 不允许 |
| JSON | 允许（有函数依赖关系将无法删除） |  | |

## 删除唯一键（UNIQUE KEY）约束下的列

如果删除的 **唯一键** 列中包含上述表格中的字段类型，通过 ALTER TABLE DDL 语句进行删除列操作时，MySQL 数据库和 OceanBase 社区版的区别与删除主键（PRIMARY KEY）约束下的列一致。

## 删除普通键（KEY）约束下的列

如果删除的 **普通键** 列中包含上述表格中的字段类型，通过 ALTER TABLE DDL 语句进行删除列操作时，MySQL 数据库和 OceanBase 社区版的区别与删除主键（PRIMARY KEY）约束下的列一致。

## 删除全文索引（FULLTEXT）约束下的列

如果删除的 **全文索引** 列中包含下表中的字段类型，通过 ALTER TABLE DDL 语句进行删除列操作时，MySQL 数据库和 OceanBase 社区版的区别如下。

| MySQL 数据库的字段类型 | 是否允许执行删除 | OceanBase 社区版的字段类型 | 是否允许执行删除 |
| --- | --- | --- | --- |
| CHAR | 允许 | CHAR | 不允许 |
| VARCHAR | 允许 | VARCHAR | 不允许 |
| TINYTEXT | 允许 | TINYTEXT | 不允许 |
| MEDIUMTEXT | 允许 | MEDIUMTEXT | 不允许 |
| TEXT | 允许 | TEXT | 不允许 |
| LONGTEXT | 允许 | LONGTEXT | 不允许 |
|  |  | BINARY | 不允许 |
|  |  | VARBINARY | 不允许 |
| NCHAR | 允许 | CHAR | 不允许 |
| JSON | 允许（有函数依赖关系将无法删除） |  | |

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