2017-08-28 12 views
0

私は、生成された列が含まれているMySQLのテーブルを作成しました:MySQLのテーブルには、生成されないように生成された列を変更

CREATE TABLE `messages` (
    `metadata` JSON NOT NULL, 
    `aggregate_version` INT(11) UNSIGNED GENERATED ALWAYS AS (metadata->'$._aggregate_version') STORED NOT NULL 
); 

私は非生成列であることをaggregate_versionを変更するにはどうすればよいですか?列の型は変わらないはずです。

+0

どのmysqlバージョンを使用していますか? – hiule

+0

私はMySQL 5.7を使用しています。 –

答えて

0

13.1.8.3 ALTER TABLE and Generated Columns

...

  • ストアドではなく、仮想生成された列はnongenerated列に変更することができます。格納された生成値は、非永続列の値になります。

...

試してみてください。

ALTER TABLE `messages` 
MODIFY `aggregate_version` INT UNSIGNED NOT NULL; 

db-fiddleを参照してください。

関連する問題