本文为您介绍 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 |