メインコンテンツまでスキップ
バージョン: 26.x

ALTER TABLE ADD GENERATED COLUMN

ALTER TABLE ADD COLUMNは生成カラムの追加には対応しておらず、ALTER TABLE MODIFY COLUMNは生成カラム情報の変更には対応していません。 ALTER TABLE構文は、生成カラムの順序の変更、生成カラムの名前の変更、および生成カラムの削除には対応しています。

対応していないシナリオでは、以下のエラーが報告されます:

mysql> CREATE TABLE test_alter_add_column(a int, b int) properties("replication_num"="1");
Query OK, 0 rows affected (0.14 sec)
mysql> ALTER TABLE test_alter_add_column ADD COLUMN c int AS (a+b);
ERROR 1105 (HY000): errCode = 2, detailMessage = Not supporting alter table add generated columns.
mysql> ALTER TABLE test_alter MODIFY COLUMN c int KEY AS (a+b+1);
ERROR 1105 (HY000): errCode = 2, detailMessage = Not supporting alter table modify generated columns.

REORDER COLUMN

ALTER TABLE products ORDER BY (product_id, total_value, price, quantity);

注意: 変更されたカラムの順序は、カラムの生成とTableの作成時に順序制限を満たす必要があります。

RENAME COLUMN

ALTER TABLE products RENAME COLUMN total_value new_name;

注意: Table内のカラム(生成カラムまたは通常のカラム)が他の生成カラムによって参照されている場合、この生成カラムの名前を変更する前に、他の生成カラムを削除する必要があります。

DROP COLUMN

ALTER TABLE products DROP COLUMN total_value;

注意: Table内のカラム(生成カラムまたは通常カラム)が他の生成カラムによって参照されている場合、参照されている生成カラムまたは通常カラムを削除する前に、まず他の生成カラムを削除する必要があります。