Todos los productos
Search
Centro de documentos

ApsaraDB for OceanBase (Deprecated):Operaciones en columnas

Última actualización: Sep 05, 2026

Este tema describe el alcance de conversión compatible de las operaciones DDL ALTER TABLE en columnas durante la migración de datos desde una base de datos MySQL hacia un inquilino MySQL de OceanBase Database.

Sintaxis

ALTER TABLE tbl_name
    [alter_option [, alter_option] ...]

alter_option: {
  ADD [COLUMN] col_name column_definition
        [FIRST | AFTER col_name]
  | ADD [COLUMN] (col_name column_definition,...)
  | ALTER [COLUMN] col_name {
        SET DEFAULT {literal | (expr)}
      | SET {VISIBLE | INVISIBLE}
      | DROP DEFAULT
    }
  | CHANGE [COLUMN] old_col_name new_col_name column_definition
        [FIRST | AFTER col_name]
  | DROP [COLUMN] col_name
  | MODIFY [COLUMN] col_name column_definition
        [FIRST | AFTER col_name]
  | ORDER BY col_name [, col_name] ...
  | RENAME COLUMN old_col_name TO new_col_name
}

Operaciones DDL compatibles

  • Use ADD COLUMN para agregar una o más columnas. Para obtener más información sobre cómo definir una columna, consulte Create a column. También puede especificar la palabra clave FIRST | AFTER.

  • Use ALTER COLUMN SET DEFAULT para modificar el valor predeterminado de una columna.

  • Use ALTER COLUMN DROP DEFAULT para eliminar el valor predeterminado de una columna.

  • Use CHANGE COLUMN o MODIFY COLUMN para cambiar o modificar una columna.

  • Use DROP COLUMN para eliminar una columna.

Operaciones no compatibles

Importante

Si una instrucción DDL que se va a sincronizar contiene alguna de las definiciones no compatibles que se muestran a continuación, la conversión fallará y el resultado será una cadena vacía.

  • Usar ALTER COLUMN SET VISIBLE | INVISIBLE para modificar la visibilidad de una columna.

  • Usar ORDER BY col_name.

  • Usar RENAME COLUMN para cambiar el nombre de una columna.

    ALTER TABLE t RENAME COLUMN d TO g;

Cláusulas y opciones ignoradas

Importante

Las cláusulas y opciones que se muestran a continuación se ignoran y no se resuelven ni se convierten cuando se especifican en las instrucciones DDL sincronizadas.

  • Atributo FIRST | AFTER (si una instrucción DDL ALTER TABLE contiene la cláusula MODIFY COLUMN o CHANGE COLUMN, este atributo se ignora).

Límites

Importante

Debido a los límites de los inquilinos MySQL de OceanBase Database, es posible que se devuelva un error cuando las instrucciones DDL sincronizadas se convierten y se ejecutan en un inquilino MySQL de OceanBase Database en los escenarios que se describen a continuación.

  • El uso de la cláusula MODIFY COLUMN o CHANGE COLUMN para modificar el tipo de campo puede fallar. Esto ocurre porque algunos tipos de campo no son compatibles con los inquilinos MySQL de OceanBase Database.

  • El uso de la instrucción MODIFY COLUMN o CHANGE COLUMN para modificar la longitud del campo puede fallar.

  • El uso de la instrucción ALTER COLUMN SET DEFAULT para establecer un valor predeterminado puede fallar. Esto se debe a que algunas funciones o expresiones no son compatibles con los inquilinos MySQL de OceanBase Database.

  • No es posible eliminar columnas que se usan como claves primarias, claves únicas o índices normales, ni columnas con restricciones FOREIGN KEY.