CANCEL ALTER TABLE
CANCEL ALTER TABLE は、実行中の ALTER TABLE 操作の実行をキャンセルします。対象となる操作は以下のとおりです。
- 列の変更。
- バケッティング手法やバケット数の変更など、テーブルスキーマの最適化 (v3.2 以降)。
- ロールアップインデックスの作成と削除。
注記
- このステートメントは同期操作です。
- このステートメントを実行するには、テーブルに対する
ALTER_PRIV権限が必要です。 - このステートメントは、ALTER TABLE を使用した非同期操作のキャンセル (上記参照) のみをサポートし、名前の変更など、ALTER TABLE を使用した同期操作のキャンセルはサポートしません。
構文
CANCEL ALTER TABLE { COLUMN | OPTIMIZE | ROLLUP } FROM [db_name.]table_name [ (rollup_job_id [, rollup_job_id]) ]
パラメータ
-
{COLUMN | OPTIMIZE | ROLLUP}COLUMNが指定された場合、 このステートメントは列の変更操作をキャンセルします。OPTIMIZEが指定された場合、このステートメントはテーブルスキーマの最適化操作をキャンセルします。ROLLUPが指定された場合、このステートメントはrollup index の追加または削除操作をキャンセルします。特定のロールアップジョブをキャンセルするには、rollup_job_idをさらに指定できます。
-
db_name: オプション。テーブルが属するデータベースの名前。このパラメータが指定されていない場合、現在のデータベースがデフォルトで使用されます。 -
table_name: 必須。テーブル名。 -
rollup_job_id: オプション。ロールアップジョブの ID。ロールアップジョブの ID はSHOW ALTER MATERIALIZED VIEW を使用して取得できます。
Examples
- データベース
example_db内のexample_tableに対するカラム変更のオペレーションをキャンセルします。
CANCEL ALTER TABLE COLUMN FROM example_db.example_table;
- データベース
example_db内のexample_tableに対するテーブルスキーマの最適化操作をキャンセルします。
CANCEL ALTER TABLE OPTIMIZE FROM example_db.example_table;
- 現在のデータベースで、
example_tableのロールアップインデックスの追加または削除の操作をキャンセルします。
CANCEL ALTER TABLE ROLLUP FROM example_table;
-
現在のデータベースにある
example_tableの特定のロールアップ変更を、ジョブ ID を使ってキャンセルします。CANCEL ALTER TABLE ROLLUP FROM example_table (12345, 12346);