将MySQL表中的已生成列更改为未生成

将MySQL表中的已生成列更改为未生成,mysql,generated,Mysql,Generated,我创建了一个MySQL表,其中包含一个生成的列: CREATE TABLE `messages` ( `metadata` JSON NOT NULL, `aggregate_version` INT(11) UNSIGNED GENERATED ALWAYS AS (metadata->'$._aggregate_version') STORED NOT NULL ); 如何将aggregate\u version更改为非生成列?列类型应保持不变 存储但非虚拟生成

我创建了一个MySQL表,其中包含一个生成的列:

CREATE TABLE `messages` (
    `metadata` JSON NOT NULL,
    `aggregate_version` INT(11) UNSIGNED GENERATED ALWAYS AS (metadata->'$._aggregate_version') STORED NOT NULL
);
如何将
aggregate\u version
更改为非生成列?列类型应保持不变

  • 存储但非虚拟生成的列可以更改为非生成列。存储的生成值将成为非生成列的值

尝试:

altertable`消息`
修改“聚合版本”INT UNSIGNED NOT NULL;

  • 存储但非虚拟生成的列可以更改为非生成列。存储的生成值将成为非生成列的值

尝试:

altertable`消息`
修改“聚合版本”INT UNSIGNED NOT NULL;

请参阅。

您使用的是哪个mysql版本?我使用的是mysql 5.7。您使用的是哪个mysql版本?我使用的是mysql 5.7。