Tous les produits
Search
Centre de documentation

ApsaraDB for OceanBase (Deprecated):Opérations sur les colonnes

Dernière mise à jour :Aug 09, 2026

Cette rubrique décrit les conversions prises en charge pour les opérations DDL ALTER TABLE sur les colonnes lors de la migration de données d'une base de données MySQL vers un locataire MySQL d'OceanBase Database.

Syntaxe

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
}

Opérations DDL prises en charge

  • Utilisez ADD COLUMN pour ajouter une ou plusieurs colonnes. Pour plus d'informations sur la définition d'une colonne, consultez la section Créer une colonne. Vous pouvez également spécifier le mot-clé FIRST ou AFTER.

  • Utilisez ALTER COLUMN SET DEFAULT pour modifier la valeur par défaut d'une colonne.

  • Utilisez ALTER COLUMN DROP DEFAULT pour supprimer la valeur par défaut d'une colonne.

  • Utilisez CHANGE COLUMN ou MODIFY COLUMN pour modifier une colonne.

  • Utilisez DROP COLUMN pour supprimer une colonne.

Opérations non prises en charge

Important

Si une instruction DDL à synchroniser contient l'une des définitions non prises en charge suivantes, la conversion échoue et renvoie une chaîne vide.

  • Utilisation de ALTER COLUMN SET VISIBLE | INVISIBLE pour modifier la visibilité d'une colonne.

  • Utilisation de ORDER BY col_name.

  • Utilisation de RENAME COLUMN pour renommer une colonne.

    ALTER TABLE t RENAME COLUMN d TO g;

Clauses et options ignorées

Important

Les clauses et options suivantes sont ignorées : elles ne sont ni résolues ni converties lorsqu'elles apparaissent dans les instructions DDL synchronisées.

  • Attribut FIRST ou AFTER (cet attribut est ignoré si une instruction DDL ALTER TABLE contient la clause MODIFY COLUMN ou CHANGE COLUMN).

Limites

Important

En raison des limites des locataires MySQL d'OceanBase Database, la conversion et l'exécution des instructions DDL synchronisées peuvent générer une erreur dans les scénarios suivants.

  • La modification du type de champ via les clauses MODIFY COLUMN ou CHANGE COLUMN peut échouer, car certains types de champs ne sont pas pris en charge par les locataires MySQL d'OceanBase Database.

  • La modification de la longueur du champ via les instructions MODIFY COLUMN ou CHANGE COLUMN peut échouer.

  • La définition d'une valeur par défaut via l'instruction ALTER COLUMN SET DEFAULT peut échouer, car certaines fonctions ou expressions ne sont pas prises en charge par les locataires MySQL d'OceanBase Database.

  • Il est impossible de supprimer les colonnes servant de clés primaires, de clés uniques ou d'index standard, ni les colonnes soumises à des contraintes FOREIGN KEY.