すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for OceanBase (Deprecated):テーブルを変更する

最終更新日:Jan 19, 2025

このトピックでは、MySQL データベースから OceanBase Database の MySQL テナントへのデータ移行中に、ALTER TABLE DDL 操作でサポートされる変換範囲について説明します。

概要

  • 列に対する操作。列を追加、削除、および変更できます。詳細については、「列に対する操作」をご参照ください。

  • 制約とインデックスに対する操作。制約とインデックスを追加および削除できます。詳細については、「制約とインデックスに対する操作」をご参照ください。

  • パーティションに対する操作。詳細については、「パーティションに対する操作」をご参照ください。

  • テーブル属性の変更。詳細については、このセクションの後にある「テーブル属性の変更」をご参照ください。

テーブル属性の変更

構文

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

alter_option: {
    table_options
   | RENAME [TO | AS] new_tbl_name
   | ALGORITHM [=] {DEFAULT | INSTANT | INPLACE | COPY}
   | [DEFAULT] CHARACTER SET [=] charset_name [COLLATE [=] collation_name]
   | CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]
   | {DISCARD | IMPORT} TABLESPACE
   | FORCE
   | LOCK [=] {DEFAULT | NONE | SHARED | EXCLUSIVE}
   | {WITHOUT | WITH} VALIDATION
}

table_option: {
    AUTOEXTEND_SIZE [=] value
  | AUTO_INCREMENT [=] value
  | AVG_ROW_LENGTH [=] value
  | [DEFAULT] CHARACTER SET [=] charset_name
  | CHECKSUM [=] {0 | 1}
  | [DEFAULT] COLLATE [=] collation_name
  | COMMENT [=] 'string'
  | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'}
  | CONNECTION [=] 'connect_string'
  | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory'
  | DELAY_KEY_WRITE [=] {0 | 1}
  | ENCRYPTION [=] {'Y' | 'N'}
  | ENGINE [=] engine_name
  | ENGINE_ATTRIBUTE [=] 'string'
  | INSERT_METHOD [=] { NO | FIRST | LAST }
  | KEY_BLOCK_SIZE [=] value
  | MAX_ROWS [=] value
  | MIN_ROWS [=] value
  | PACK_KEYS [=] {0 | 1 | DEFAULT}
  | PASSWORD [=] 'string'
  | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT}
  | SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
  | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1}
  | STATS_PERSISTENT [=] {DEFAULT | 0 | 1}
  | STATS_SAMPLE_PAGES [=] value
  | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}]
  | UNION [=] (tbl_name[,tbl_name]...)
}

サポートされる操作

  • テーブル名の変更。

    alter table tablename rename to new_tablename;
  • テーブルコメントの変更。

    ALTER TABLE t comment = 'table comment';

サポートされない操作

重要

同期される DDL 文に以下のサポートされていない定義が含まれている場合、変換は失敗し、出力は空の文字列になります。

  • ALGORITHM 属性の変更。

    ALTER TABLE t ALGORITHM = COPY;
  • CONVERT TO CHARACTER SET の使用。

    ALTER TABLE t CONVERT TO CHARACTER SET utf16;
  • CHARACTER SET 属性または COLLATE 属性の変更。

    ALTER TABLE T DEFAULT CHARACTER SET utf8;
  • DISCARD | IMPORT TABLESPACE オプションの指定。

  • ALTER TABLE FORCE の使用。

  • LOCK 属性の変更: LOCK = DEFAULT | NONE | SHARED | EXCLUSIVE。

  • ALTER TABLE WITHOUT | WITH VALIDATION の使用。

  • table_option 内の COMMENT 以外の属性の変更。詳細については、このトピックの「構文」セクションにある table_option の定義をご参照ください。