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

ApsaraDB for OceanBase (Deprecated):テーブルの作成

最終更新日:Jan 19, 2025

このトピックでは、MySQL データベースから OceanBase Database の 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

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

  • CREATE TABLE 文を使用してテーブルを作成する場合、IF NOT EXISTS キーワードと LIKE オプションを指定できます。例:

    CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    { LIKE old_tbl_name | (LIKE old_tbl_name) }
  • この文を使用して一時テーブルを作成することはできません。TEMPORARY キーワードは無視されます。

    説明

    OceanBase Database V3.2.3 の MySQL テナントでは、一時テーブルを作成できます。

  • CREATE TABLE AS SELECT 文を使用して、SELECT 文の結果セットに基づいてテーブルを作成することはできません。これは、このシナリオでは出力は空の文字列になるためです。

table_options

  • テーブルレベルのコメントを指定できます。

  • CHARACTER SET を指定できます。

  • その他のテーブルオプションは解析されず、無視されます。

次のサンプルコードは、テーブルオプションについて詳しく説明しています。

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 Database の MySQL テナントの制限により、同期された DDL 文が変換され、以下のシナリオで OceanBase Database の MySQL テナントで実行されると、エラーが返される場合があります。

  • OceanBase Database の MySQL テナントでは、サポートされる文字セットの数が限られています。

  • Latin-1 など、サポートされていない文字セットを使用しないでください。OceanBase Database の MySQL テナントにサポートされていない文字セットを強制的に指定した場合、ターゲットデータベースへの DDL 同期中にこの文字セットは変換されず、エラーが返されます。