MySQL - изменить длину столбца индекса VARCHAR?

В настоящее время у меня есть таблица с индексным столбцом с уникальным индексным столбцом «имя». В настоящее время столбец name - это varchar длиной 25. Я хотел бы увеличить это значение до 50. Я пытаюсь использовать

alter table `meal_prices` modify `name` varchar(50);

сделать это. Однако, похоже, это не влияет на столбец. У меня такое ощущение, что это не работает, потому что столбец является столбцом индекса, но я не уверен. Какие-либо предложения? Спасибо много.


person golmschenk    schedule 14.01.2013    source источник
comment
Выдает ошибку? Или просто ничего не делать?   -  person Tom    schedule 14.01.2013
comment
Насколько я могу судить, он ничего не делает. Запускаю через HeidiSQL Portable. Но Хайди обычно показывала мне любые ошибки, если они случались и не появлялись.   -  person golmschenk    schedule 14.01.2013
comment
Похоже, должно работать. Вы уверены, что это не изменило тип данных? Если запустить show create table TABLENAME, тип данных не изменится?   -  person Tom    schedule 14.01.2013
comment
Ах, однако, тогда имело смысл изменить длину самой Хайди. При этом Хайди печатает код, который она использует, ALTER TABLE 'meal_prices' CHANGE COLUMN 'name' 'name' VARCHAR(50) NOT NULL AFTER 'the_column_before_name';. Кажется, это работает, и я просто воспользуюсь этим. Спасибо за помощь!   -  person golmschenk    schedule 14.01.2013
comment
ИЗМЕНИТЬ КОЛОНКУ и ИЗМЕНИТЬ КОЛОНКУ делают то же самое. Оба варианта должны работать.   -  person Devart    schedule 14.01.2013
comment
@Tom: Моя ошибка, мне просто нужен show create table TABLENAME в конце, чтобы увидеть правильно обновленные данные. Не стесняйтесь опубликовать это как ответ, и я приму его. Спасибо!   -  person golmschenk    schedule 14.01.2013


Ответы (1)


После этого запустите show create table TABLENAME, чтобы убедиться, что тип данных изменился.

person Tom    schedule 14.01.2013