Todos los productos
Search
Centro de documentos

ApsaraDB for OceanBase (Deprecated):Incompatibilidades de ALTER TABLE

Última actualización: Sep 04, 2026

Este tema describe los escenarios en los que el componente de sincronización DDL del servicio de transmisión de datos puede convertir operaciones DDL de ALTER TABLE ejecutadas en una base de datos MySQL, pero que no pueden ejecutarse en un inquilino MySQL de OceanBase Database durante la migración de datos from la base de datos MySQL hacia dicho inquilino.

Referencia a otras columnas en una expresión CHECK de fila

  • Bases de datos MySQL

    • Al ejecutar la instrucción ALTER TABLE ADD COLUM, no es posible hacer referencia a otras columnas (de cualquier tipo) en la expresión CHECK de la fila.

    • Al ejecutar la instrucción ALTER TABLE MODIFY/CHANGE COLUM, sí es posible hacer referencia a otras columnas (de cualquier tipo) en la expresión CHECK de la fila.

  • Inquilinos MySQL de OceanBase Database

    • Al ejecutar la instrucción ALTER TABLE ADD COLUM, no es posible hacer referencia a otras columnas (de cualquier tipo) en la expresión CHECK de la fila.

    • Al ejecutar la instrucción ALTER TABLE MODIFY/CHANGE COLUM, no es posible hacer referencia a otras columnas (de cualquier tipo) en la expresión CHECK de la fila.

      Importante

      Es posible que otras expresiones CHECK no sean compatibles debido a los límites de un inquilino MySQL de OceanBase Database.

Cambio del tipo de una columna

  • Las bases de datos MySQL y los inquilinos MySQL de OceanBase Database tienen límites diferentes respecto a los tipos de columnas con restricciones después de un cambio. Para obtener más información, consulte Change the type of a constrained column.

  • Las bases de datos MySQL y los inquilinos MySQL de OceanBase Database tienen límites diferentes respecto a los tipos de columnas sin restricciones. Para obtener más información, consulte Change the type of an unconstrained column.

Cambio de la longitud de una columna

  • Las bases de datos MySQL y los inquilinos MySQL de OceanBase Database tienen límites diferentes respecto a la longitud de columnas con restricciones después de un cambio. Para obtener más información, consulte Change the length of a constrained column.

  • Las bases de datos MySQL y los inquilinos MySQL de OceanBase Database tienen límites diferentes respecto a la longitud de columnas sin restricciones después de un cambio. Para obtener más información, consulte Change the length of an unconstrained column.

Cambio de una columna NULLABLE a NOT NULL

  • Bases de datos MySQL

    Si una columna NULLABLE no tiene restricciones, ejecute la instrucción CHANGE/MODIFY COLUMN para cambiarla a NOT NULL. También se admiten a continuación cambios: NOT NULL -> NULLABLE, NULLABLE -> NULLABLE y NOT NULL -> NOT NULL.

    Importante

    Si existe un valor NULL en una columna NULLABLE, no es posible cambiar dicha columna a NOT NULL.

  • Inquilinos MySQL de OceanBase Database

    • Si una columna NULLABLE no tiene restricciones, no es posible cambiarla a NOT NULL mediante la instrucción CHANGE/MODIFY COLUMN.

    • Si una columna NULLABLE no tiene restricciones, se admiten a continuación cambios: NOT NULL -> NULLABLE, NULLABLE -> NULLABLE y NOT NULL -> NOT NULL.

Cambio del conjunto de caracteres o la intercalación

  • Bases de datos MySQL: compatible.

  • Inquilinos MySQL de OceanBase Database: no compatible.

Eliminación de una columna con restricciones

Las bases de datos MySQL y los inquilinos MySQL de OceanBase Database tienen límites diferentes respecto a la eliminación de una columna con restricciones. Para obtener más información, consulte Delete a constrained column.

Las instrucciones CHANGE/MODIFY COLUMN NOT NULL y COMMENT no pueden coexistir

Código de ejemplo:

 ALTER TABLE T MODIFY C INT NOT NULL, COMMENT 'INT COLUMN';
  • Bases de datos MySQL

    • Si una columna no tiene restricciones, cámbiela a NOT NULL o NULLABLE mediante la instrucción CHANGE/MODIFY COLUMN con una cláusula COMMENT.

    • Si una columna tiene la restricción PRIMARY KEY, UNIQUE KEY, KEY o FULLTEXT, cámbiela a NOT NULL mediante la instrucción CHANGE/MODIFY COLUMN con una cláusula COMMENT. Sin embargo, si intenta cambiar la columna a NULLABLE en este caso, se devolverá un error.

  • Inquilinos MySQL de OceanBase Database

    • Independientemente de si una columna NULLABLE o NOT NULL tiene restricciones, no es posible cambiarla a NOT NULL mediante la instrucción CHANGE/MODIFY COLUMN con una cláusula COMMENT.

    • Si una columna NULLABLE o NOT NULL no tiene restricciones, cámbiela a NULLABLE.

    • Si una columna NOT NULL tiene una restricción PRIMARY KEY, UNIQUE KEY, KEY o FULLTEXT, y desea cambiarla a NULLABLE mediante la instrucción CHANGE/MODIFY COLUMN con una cláusula COMMENT, no se devolverá ningún error, pero el cambio no surtirá efecto.