Подтвердить что ты не робот

MySQL - Как увеличить размер varchar существующего столбца в базе данных без нарушения существующих данных?

У меня есть столбец, который в настоящее время varchar(100), и я хочу сделать его 10000.

это так просто, как

alter table table_name set column col_name varchar (10000);

Я боюсь испортить данные. Будет ли я в порядке, если я запустил этот запрос? Или я должен сделать я alter столбец другим способом?

Спасибо!

4b9b3361

Ответ 1

Обычно я использую это утверждение:

ALTER TABLE `table_name`
  CHANGE COLUMN `col_name` `col_name` VARCHAR(10000);

Но я думаю, что SET тоже будет работать, никогда не пробовал.:)

Ответ 2

Безопасно увеличить размер столбца varchar. Вы не испортите свои данные.

Если это поможет вашему спокойствию, имейте в виду, вы всегда можете запустить резервное копирование базы данных, прежде чем изменять свои структуры данных.

Кстати, правильный синтаксис:

ALTER TABLE table_name MODIFY col_name VARCHAR(10000)

Кроме того, если столбец, ранее разрешенный/не разрешающий нули, вы должны добавить соответствующий синтаксис в конец инструкции alter table после типа столбца.

Ответ 3

Я бы хотел объяснить различные синтаксисы таблиц альтернатив - см. документацию MySQL

Для добавления/удаления значений по умолчанию для столбца:

ALTER TABLE table_name
ALTER COLUMN col_name {SET DEFAULT literal | DROP DEFAULT}

Чтобы переименовать столбец, изменив его тип данных и, возможно, изменив порядок столбцов:

ALTER TABLE table_name
CHANGE [COLUMN] old_col_name new_col_name column_definition
[FIRST|AFTER col_name]

Для изменения типа данных столбца и необязательного изменения порядка столбцов:

ALTER TABLE table_name
MODIFY [COLUMN] col_name column_definition
[FIRST | AFTER col_name]

Ответ 4

Для меня это сработало:

ALTER TABLE tablename MODIFY имя поля VARCHAR (128) NOT NULL;

Ответ 5

используйте этот синтаксис: alter table table_name изменить столбец col_name varchar (10000);