本文為您介紹 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 | - |