Изменение сгенерированного столбца на не сгенерированный в таблице 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 быть не сгенерированным столбцом? Тип столбца должен оставаться прежним.

1 ответ

Решение

13.1.8.3 ALTER TABLE и сгенерированные столбцы

...

  • Сохраненные, но не виртуальные сгенерированные столбцы можно изменить на не сгенерированные столбцы. Сохраненные сгенерированные значения становятся значениями невырожденного столбца.

...

Пытаться:

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

Смотрите дб-скрипку.

Другие вопросы по тегам