全部產品
Search
文件中心

ApsaraDB for OceanBase:刪除有約束的列

更新時間:Jul 01, 2024

本文為您介紹 MySQL 資料庫和 OceanBase 資料庫 MySQL 租戶對於刪除不同約束下欄位的不相容情境。

說明

本文表格中,對比類型空白表示相應約束下不支援該類型。

刪除主鍵(PRIMARY KEY)約束下的列

如果刪除的 主鍵列 中包含下表中的欄位類型,通過 ALTER TABLE DDL 語句進行刪除列操作時,MySQL 資料庫和 OceanBase 資料庫 MySQL 租戶的區別如下。

MySQL 資料庫的欄位類型

是否允許執行刪除

OceanBase 資料庫 MySQL 租戶的欄位類型

是否允許執行刪除

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 資料庫 MySQL 租戶的區別與刪除主鍵(PRIMARY KEY)約束下的列一致。

刪除普通鍵(KEY)約束下的列

如果刪除的 普通鍵 列中包含上述表格中的欄位類型,通過 ALTER TABLE DDL 語句進行刪除列操作時,MySQL 資料庫和 OceanBase 資料庫 MySQL 租戶的區別與刪除主鍵(PRIMARY KEY)約束下的列一致。

刪除全文索引(FULLTEXT)約束下的列

如果刪除的 全文索引 列中包含下表中的欄位類型,通過 ALTER TABLE DDL 語句進行刪除列操作時,MySQL 資料庫和 OceanBase 資料庫 MySQL 租戶的區別如下。

MySQL 資料庫的欄位類型

是否允許執行刪除

OceanBase 資料庫 MySQL 租戶的欄位類型

是否允許執行刪除

CHAR

允許

CHAR

不允許

VARCHAR

允許

VARCHAR

不允許

TINYTEXT

允許

TINYTEXT

不允許

MEDIUMTEXT

允許

MEDIUMTEXT

不允許

TEXT

允許

TEXT

不允許

LONGTEXT

允許

LONGTEXT

不允許

BINARY

不允許

VARBINARY

不允許

NCHAR

允許

CHAR

不允許

JSON

允許(有函數依賴關係將無法刪除)