有约束的列修改类型

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

说明

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

主键(PRIMAEY KEY)约束下字段类型的修改

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

MySQL 数据库的字段类型

允许执行修改的类型

OceanBase 数据库 MySQL 租户的字段类型

允许执行修改的类型

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 数据库 MySQL 租户的区别与主键(PRIMAEY KEY)约束下字段类型的修改一致。

普通键(KEY)约束下字段类型修改

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

外键(FOREIGN KEY)约束下字段类型的修改

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

全文索引(FULLTEXT)约束下字段类型的修改

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

MySQL 数据库的字段类型

允许执行修改的类型

OceanBase 数据库 MySQL 租户的字段类型

允许执行修改的类型

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