Este tema describe las incompatibilidades entre bases de datos MySQL y tenants de MySQL de OceanBase Database al modificar el tipo de una columna con restricciones. Las incompatibilidades varían según la restricción aplicada.
En las tablas a continuación, una celda vacía en la columna de tipo indica que el tipo no es compatible con la restricción correspondiente; un guion (-) significa N/A, y 'All' abarca todos los tipos.
Cambio de tipo en una columna PRIMARY KEY
La siguiente tabla describe los tipos a los que se puede cambiar una columna PRIMARY KEY mediante la sentencia DDL ALTER TABLE table_name MODIFY/CHANGE COLUMN en una base de datos MySQL y en un tenant de MySQL de OceanBase Database.
|
Tipo de columna en base de datos MySQL |
Tipo destino compatible |
Tipo de columna en tenant de MySQL de OceanBase Database |
Tipo destino compatible |
|
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 |
Cambio de tipo en una columna UNIQUE KEY
Si una columna UNIQUE KEY tiene un tipo descrito en la tabla anterior, los tipos permitidos al ejecutar la sentencia DDL ALTER TABLE table_name MODIFY/CHANGE COLUMN en una base de datos MySQL o en un tenant de MySQL de OceanBase Database son los mismos que para una columna PRIMARY KEY.
Cambio de tipo en una columna KEY
Cuando una columna KEY corresponde a alguno de los tipos listados previamente, los cambios de tipo permitidos mediante la sentencia DDL ALTER TABLE table_name MODIFY/CHANGE COLUMN en bases de datos MySQL y tenants de MySQL de OceanBase Database coinciden con los de una columna PRIMARY KEY.
Cambio de tipo en una columna FOREIGN KEY
Para columnas FOREIGN KEY cuyo tipo aparece en la tabla anterior, los tipos destino disponibles al usar la sentencia DDL ALTER TABLE table_name MODIFY/CHANGE COLUMN en MySQL o en un tenant de MySQL de OceanBase Database son idénticos a los de una columna PRIMARY KEY.
Cambio de tipo en una columna con índice FULLTEXT
La siguiente tabla muestra los tipos a los que se puede convertir una columna indexada con FULLTEXT mediante la sentencia DDL ALTER TABLE table_name MODIFY/CHANGE COLUMN, tanto en bases de datos MySQL como en tenants de MySQL de OceanBase Database.
|
Tipo de columna en base de datos MySQL |
Tipo destino compatible |
Tipo de columna en tenant de MySQL de OceanBase Database |
Tipo destino compatible |
|
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 |