このトピックでは、制約付き列の長さを変更する場合の MySQL データベースと OceanBase Database の MySQL テナント間の非互換性について説明します。非互換性は、制約によって異なります。
以下の表では、種類列の空のセルは、対応する制約で種類がサポートされていないことを示し、ハイフン(-)は N/A を意味します。
PRIMARY KEY 列の長さを変更する
次の表は、MySQL データベースと OceanBase Database の MySQL テナントで ALTER TABLE table_name MODIFY/CHANGE COLUMN DDL 文を実行して PRIMARY KEY 列の長さを変更するために実行できる操作について説明します。
MySQL データベースの列の種類 | 許可される操作 | OceanBase Database の 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 | - | ||
YEAR | 長さの増減 | YEAR | 長さの増加(ただし、長さは実際には 4 バイトに固定されています。) |
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 列の長さを変更する
次の表は、MySQL データベースおよび OceanBase Database の MySQL テナントで ALTER TABLE table_name MODIFY/CHANGE COLUMN DDL 文を実行して FOREIGN KEY 列の長さを変更するために実行できる操作について説明しています。
MySQL データベースの列の種類 | 許可される操作 | OceanBase Database の 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 | - | ||
YEAR | - | YEAR | 長さの増加(ただし、長さは実際には 4 バイトに固定されています。) |
DATE | - | DATE | - |
TIME | - | TIME | 長さの増加 |
TIMESTAMP | - | TIMESTAMP | 長さの増加 |
DATETIME | - | DATETIME | 長さの増加 |
TINYBLOB | - | ||
MEDIUMBLOB | - | ||
BLOB | - | ||
LONGBLOB | - | ||
TINYTEXT | - | ||
MEDIUMTEXT | - | ||
TEXT | - | ||
LONGTEXT | - | ||
ENUM | 長さの増加 | ENUM | 長さの増加 |
SET | 長さの増加 | SET | 長さの増加 |
JSON | - |
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 | - |