MySQL установка столбца1 в столбец2 не устанавливает правильные значения - PullRequest
0 голосов
/ 23 марта 2020

Обновление типа поля (int) для другого (enum) и создание нового поля для расширения и сокращения миграции.

Я выполняю UPDATE table SET newColumn = oldColumn Мне не нужен оператор WHERE, поскольку я хочу это для всей таблицы.

Когда это запустится, новый столбец имеет значения, но они не являются правильными?

Значения в начальном поле находятся в диапазоне от 0-5, а второе поле представляет собой перечисление 0-5.

1 Ответ

0 голосов
/ 23 марта 2020

(Предполагается, что вы пытаетесь заменить значения, а не типы данных столбца)

Вам нужно указать MySQL, чтобы изменить тип данных, чтобы вы использовали CAST:

UPDATE table SET newColumn_int = CAST(oldColumn_enum AS UNSIGNED) 

Преобразует значения столбца ENUM в типы данных INT (SIGNED или UNSIGNED).

Также см. этот очень полезный пост

...