没有约束的列修改长度

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

如果列中包含下表中的字段类型,通过 ALTER TABLE table_name MODIFY / CHANGE COLUMN 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

-

BLOB

-

YEAR

增大,减小

YEAR

增大(固定4)

DATE

-

DATE

-

TIME

增大,减小

TIME

增大

TIMESTAMP

增大,减小

TIMESTAMP

增大

DATETIME

增大,减小

DATETIME

增大

TINYBLOB

-

TINYBLOB

-

MEDIUMBLOB

-

MEDIUMBLOB

-

BLOB

-

BLOB

-

LONGBLOB

-

LONGBLOB

-

TINYTEXT

-

TINYTEXT

-

MEDIUMTEXT

-

MEDIUMTEXT

-

TEXT

-

TEXT

-

LONGTEXT

-

LONGTEXT

-

ENUM

增大,减小

ENUM

增大

SET

增大,减小

SET

增大

JSON

-

JSON

-