全部產品
Search
文件中心

ApsaraDB for OceanBase:建立表

更新時間:Jul 01, 2024

本文為您介紹遷移 MySQL 資料庫的資料至 OceanBase 資料庫 MySQL 租戶時,CREATE TABLE DDL 的同步範圍。

文法總覽

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
(create_definition,...)   
[table_options]
[partition_options]

文法

描述

create_definition

支援 建立列建立索引或約束

table_options

詳情請參見本文《table options》模組的內容。

partition_options

詳情請參見 建立分區

  • 建立表時,支援 IF NOT EXISTS 關鍵字和 LIKE 選項。樣本如下:

    CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    { LIKE old_tbl_name | (LIKE old_tbl_name) }
  • 建立表時,不支援建立暫存資料表(TEMPORARY 關鍵字會被忽略)。

    說明

    OceanBase 資料庫 MySQL 租戶 3.2.3 版本支援建立暫存資料表。

  • 建立表時,不支援建立基於查詢的表:create table as select,會輸出Null 字元串。

table options

  • 支援指定表層級 COMMENT。

  • 支援指定 CHARACTER SET

  • 其它 table option 均不支援解析,會被忽略。

table options 的詳細定義如下:

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]...)
}

使用限制

重要

由於 OceanBase 資料庫 MySQL 租戶本身的限制,如果存在以下情境,同步的 DDL 被成功轉換後,執行到 OceanBase 資料庫 MySQL 租戶可能會報錯。

  • OceanBase 資料庫 MySQL 租戶支援的字元集有限。

  • 請勿使用 latin1 等不支援的字元集。如果強行指定 OceanBase 資料庫 MySQL 租戶不支援的字元集,DDL 同步時不會將該字元集進行轉換,導致執行至目標資料庫時報錯。