このトピックでは、制約付き列の型を変更する場合の MySQL データベースと OceanBase Database の MySQL テナント間の非互換性について説明します。非互換性は、制約によって異なります。
以下の表では、型の列の空のセルは、対応する制約で型がサポートされていないことを示し、ハイフン(-)は該当なしを意味し、「すべて」はすべての型を意味します。
PRIMARY KEY 列の型を変更する
次の表は、MySQL データベースと OceanBase Database の MySQL テナントで ALTER TABLE table_name MODIFY/CHANGE COLUMN DDL 文を実行することで、PRIMARY KEY 列を変更できる型を示しています。
MySQL データベースの列の型 | サポートされているターゲット型 | OceanBase Database の MySQL テナントの列の型 | サポートされているターゲット型 |
INT | すべて | INTEGER | - |
TINYINT | すべて | TINYINT | BOOLEAN |
SMALLINT | すべて | SMALLINT | - |
MEDIUMINT | すべて | MEDIUMINT | - |
BIGINT | すべて | BIGINT | - |
BOOL | すべて | BOOLEAN | TINYINT |
DECIMAL | すべて | DECIMAL | - |
NUMERIC | すべて | NUMERIC | - |
REAL | すべて | FLOAT | - |
DOUBLE | すべて | DOUBLE | - |
FLOAT | すべて | FLOAT | - |
BIT | すべて | BIT | - |
CHAR | すべて | CHAR | - |
NCHAR | すべて | CHAR | - |
VARCHAR | すべて | VARCHAR | - |
BINARY | すべて | BINARY | - |
VARBINARY | すべて | VARBINARY | - |
LONG VARBINARY | すべて | ||
YEAR | すべて | YEAR | - |
DATE | すべて | DATE | - |
TIME | すべて | TIME | - |
TIMESTAMP | すべて | TIMESTAMP | - |
DATETIME | すべて | DATETIME | - |
TINYBLOB | すべて | ||
MEDIUMBLOB | すべて | ||
BLOB | すべて | ||
LONGBLOB | すべて | ||
TINYTEXT | すべて | ||
MEDIUMTEXT | すべて | ||
TEXT | すべて | ||
LONGTEXT | すべて | ||
ENUM | すべて | ENUM | - |
SET | すべて | SET | - |
JSON | すべて |
UNIQUE KEY 列の型を変更する
UNIQUE KEY 列が前の表に記載されている型のいずれかである場合、MySQL データベースと OceanBase Database の MySQL テナントで ALTER TABLE table_name MODIFY/CHANGE COLUMN DDL 文を実行することで列を変更できる型は、PRIMARY KEY 列の場合と同じです。
KEY 列の型を変更する
KEY 列が前の表に記載されている型のいずれかである場合、MySQL データベースと OceanBase Database の MySQL テナントで ALTER TABLE table_name MODIFY/CHANGE COLUMN DDL 文を実行することで列を変更できる型は、PRIMARY KEY 列の場合と同じです。
FOREIGN KEY 列の型を変更する
FOREIGN KEY 列が前の表に記載されている型のいずれかである場合、MySQL データベースと OceanBase Database の MySQL テナントで ALTER TABLE table_name MODIFY/CHANGE COLUMN DDL 文を実行することで列を変更できる型は、PRIMARY KEY 列の場合と同じです。
FULLTEXT インデックス付き列の型を変更する
次の表は、MySQL データベースと OceanBase Database の MySQL テナントで ALTER TABLE table_name MODIFY/CHANGE COLUMN DDL 文を実行することで、FULLTEXT インデックス付き列を変更できる型を示しています。
MySQL データベースの列の型 | サポートされているターゲット型 | OceanBase Database の MySQL テナントの列の型 | サポートされているターゲット型 |
CHAR | すべて | CHAR | - |
VARCHAR | すべて | VARCHAR | - |
TINYTEXT | すべて | TINYTEXT | - |
MEDIUMTEXT | すべて | MEDIUMTEXT | - |
TEXT | すべて | TEXT | - |
LONGTEXT | すべて | LONGTEXT | - |
BINARY | - | ||
VARBINARY | - | ||
NCHAR | すべて | CHAR | - |
JSON | すべて |