全部產品
Search
文件中心

ApsaraDB for OceanBase:修改表

更新時間:Jul 01, 2024

本文為您介紹遷移 MySQL 資料庫的資料至 OceanBase 資料庫 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;
  • 支援修改表的 comment。

    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 定義。