このトピックでは、MySQL データベースから OceanBase Database の MySQL テナントへのデータ移行中に列を作成するための CREATE TABLE DDL 操作のサポートされている変換範囲について説明します。
構文
create_definition:
col_name column_definition
column_definition: {
data_type [NOT NULL | NULL] [DEFAULT {literal | (expr)} ]
[VISIBLE | INVISIBLE]
[AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[COLLATE collation_name]
[COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}]
[ENGINE_ATTRIBUTE [=] 'string']
[SECONDARY_ENGINE_ATTRIBUTE [=] 'string']
[STORAGE {DISK | MEMORY}]
[reference_definition]
[check_constraint_definition]
| data_type
[COLLATE collation_name]
[GENERATED ALWAYS] AS (expr)
[VIRTUAL | STORED] [NOT NULL | NULL]
[VISIBLE | INVISIBLE]
[UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[reference_definition]
[check_constraint_definition]
}
サポートされている操作
データ型を変換します。サポートされているデータ型の詳細については、「データ型の変換」をご参照ください。
NULL または NOT NULL 属性を指定します。
DEFAULT 属性を指定します。定数または関数を使用できます。
VISIBLE または INVISIBLE 属性を指定します。
AUTO_INCREMENT を指定します。
COMMENT を指定します。
COLLATE を指定します。
生成列を指定し、その列に VIRTUAL または STORED 属性を指定します。
UNIQUE KEY、PRIMARY KEY、または KEY 属性を指定します。詳細については、「インデックスまたは制約の作成」をご参照ください。
CHECK 制約を指定します。詳細については、「インデックスまたは制約を作成する」をご参照ください。
重要この DDL 操作は、OceanBase Database V3.2.3 以降のバージョンの MySQL テナントでのみサポートされています。
外部キーを指定します。詳細については、「インデックスまたは制約の作成」をご参照ください。
無視される句とオプション
同期された DDL 文で指定された場合、次の句とオプションは無視され、解決または変換されません。
COLUMN_FORMAT
ENGINE_ATTRIBUTE
SECONDARY_ENGINE_ATTRIBUTE
STORAGE
制限
MySQL テナントの OceanBase Database の制限により、同期された DDL 文が OceanBase Database の MySQL テナントで変換および実行されたときに、次のシナリオでエラーが返される場合があります。
MySQL テナントの OceanBase Database は、DEFAULT 属性で特定の関数または式を指定することをサポートしていません。
MySQL テナントの OceanBase Database は、生成列で特定の関数または式を指定することをサポートしていません。
MySQL テナントの OceanBase Database は、特定のフィールド型に対して UNIQUE KEY、PRIMARY KEY、または KEY 属性を指定することをサポートしていません。
MySQL テナントの OceanBase Database は、特定の照合順序をサポートしていません。