У меня есть таблица под названием sidebar_items
и она имеет столбец Type
, который имеет тип enum('image', 'html')
. Я хотел бы изменить этот столбец типа enum('image', 'html', 'structure')
. Я попытался это:Как изменить колонку, если это тип MySQL?
alter table sidebar_items modify Type Type enum('image', 'html', 'structure');
Это дает мне ошибку
alter table sidebar_items modify Type Type enum('image', 'html', 'structure') Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Type enum('image', 'html', 'structure')' at line 1
Я попытался с `type`, а также. Могу ли я заставить этот запрос работать?
В качестве альтернативы, можно решить эту проблему путем:
- создавая
temp
таблицу с той же структурой, какsidebar_items
- миграции записи из
sidebar_items
кtemp
таблице - капельной
sidebar_items
- Воссоздание
sidebar_items
с новым типом дляType
- миграция записей из
temp
таблицыsidebar_items
- сбросив
temp
стол
Однако, мне интересно узнать, есть ли какой-нибудь более простые решения, возможно, с одной alter table
команды.
Что я пропустил, чтобы заслужить нисходящее движение? –