没有约束的列修改类型

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

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

说明

下表中,短横线(-)表示没有、all 表示全部类型。

MySQL 数据库的字段类型

支持修改除自身外的目标类型

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

支持修改除自身外的目标类型

INT

all

INTEGER

BIGINT

TINYINT

all

TINYINT

INTEGER<br>SMALLINT<br>MEDIUMINT<br>BIGINT<br>BOOLEAN

SMALLINT

all

SMALLINT

INTEGER<br> BIGINT<br>MEDIUMINT

MEDIUMINT

all

MEDIUMINT

INTEGERBIGINT

BIGINT

all

BIGINT

-

BOOL

all

BOOLEAN

INTEGER<br>TINYINT<br>SMALLINT<br> MEDIUMINT<br> BIGINT

DECIMAL

all

DECIMAL

NUMERIC

NUMERIC

all

NUMERIC

DECIMAL

REAL

all

FLOAT

-

DOUBLE

all

DOUBLE

-

FLOAT

all

FLOAT

-

BIT

all

BIT

-

CHAR

all

CHAR

-

NCHAR

all

CHAR

-

VARCHAR

all

VARCHAR

TINYTEXT<br>TEXT<br>LONGTEXT<br> MEDIUMTEXT

BINARY

all

BINARY

-

VARBINARY

all

VARBINARY

BLOB<br>TINYBLOB<br> MEDIUMBLOB<br> LONGBLOB

LONG_VARBINARY

all

BLOB

-

YEAR

all

YEAR

-

DATE

all

DATE

-

TIME

all

TIME

-

TIMESTAMP

all

TIMESTAMP

-

DATETIME

all

DATETIME

-

TINYBLOB

all

TINYBLOB

BLOB<br>LONGBLOB<br>MEDIUMBLOB

MEDIUMBLOB

all

MEDIUMBLOB

-

BLOB

all

BLOB

-

LONGBLOB

all

LONGBLOB

-

TINYTEXT

all

TINYTEXT

TEXT<br> LONGTEXT MEDIUMTEXT

MEDIUMTEXT

all

MEDIUMTEXT

-

TEXT

all

TEXT

-

LONGTEXT

all

LONGTEXT

-

ENUM

all

ENUM

-

SET

all

SET

-

JSON

all

JSON

-