このトピックでは、制約のない列の型を変更する場合の MySQL データベースと OceanBase Database の MySQL テナント間の非互換性について説明します。
次の表は、MySQL データベースと OceanBase Database の MySQL テナントで ALTER TABLE table_name MODIFY/CHANGE COLUMN DDL 文を実行することで列を変更できる型を示しています。
次の表では、ハイフン(-)は N/A を意味し、「すべて」はすべての型を意味します。
MySQL データベースの列型 | 元の型以外のサポートされているターゲット型 | OceanBase Database の MySQL テナントの列型 | 元の型以外のサポートされているターゲット型 |
INT | すべて | INTEGER | BIGINT |
TINYINT | すべて | TINYINT | INTEGERSMALLINTMEDIUMINTBIGINTBOOLEAN |
SMALLINT | すべて | SMALLINT | INTEGER BIGINTMEDIUMINT |
MEDIUMINT | すべて | MEDIUMINT | INTEGERBIGINT |
BIGINT | すべて | BIGINT | - |
BOOL | すべて | BOOLEAN | INTEGERTINYINTSMALLINT MEDIUMINT BIGINT |
DECIMAL | すべて | DECIMAL | NUMERIC |
NUMERIC | すべて | NUMERIC | DECIMAL |
REAL | すべて | FLOAT | - |
DOUBLE | すべて | DOUBLE | - |
FLOAT | すべて | FLOAT | - |
BIT | すべて | BIT | - |
CHAR | すべて | CHAR | - |
NCHAR | すべて | CHAR | - |
VARCHAR | すべて | VARCHAR | TINYTEXTTEXTLONGTEXT MEDIUMTEXT |
BINARY | すべて | BINARY | - |
VARBINARY | すべて | VARBINARY | BLOBTINYBLOB MEDIUMBLOB LONGBLOB |
LONG_VARBINARY | すべて | BLOB | - |
YEAR | すべて | YEAR | - |
DATE | すべて | DATE | - |
TIME | すべて | TIME | - |
TIMESTAMP | すべて | TIMESTAMP | - |
DATETIME | すべて | DATETIME | - |
TINYBLOB | すべて | TINYBLOB | BLOBLONGBLOBMEDIUMBLOB |
MEDIUMBLOB | すべて | MEDIUMBLOB | - |
BLOB | すべて | BLOB | - |
LONGBLOB | すべて | LONGBLOB | - |
TINYTEXT | すべて | TINYTEXT | TEXT LONGTEXT MEDIUMTEXT |
MEDIUMTEXT | すべて | MEDIUMTEXT | - |
TEXT | すべて | TEXT | - |
LONGTEXT | すべて | LONGTEXT | - |
ENUM | すべて | ENUM | - |
SET | すべて | SET | - |
JSON | すべて | JSON | - |