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

49

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

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

<code>alter table table_name set column col_name varchar (10000);
</code>

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

Спасибо!

возможный дубликатHow can I modify the size of column in a mysql table? tripleee
Не забудьте включить любые другие атрибуты, которые уже есть в столбце! Напримерdefault null или что-то отображается, когда вы делаетеshow create table someTableName Kzqai

Ваш Ответ

7   ответов
-1

ALTER TABLE table_name MODIFY col_name VARCHAR(12);
18

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]
Error: User Rate Limit Exceededalter, changeError: User Rate Limit ExceededmodifyError: User Rate Limit Exceeded
87

е.

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

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

ALTER TABLE table_name MODIFY col_name VARCHAR(10000)

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

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Genadinik
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededshow create table someTableNameError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
43

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

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

Error: User Rate Limit Exceeded
Error: User Rate Limit ExceededALTER TABLE `tablename` ALTER COLUMN `columnname` TYPE VARCHAR(64);Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
-4

изменить таблицу table_name изменить столбец col_name varchar (10000);

Error: User Rate Limit Exceeded
-1

ALTER TABLE table_name ALTER COLUMN column_name VARCHAR (50)

1

ALTER TABLE имя таблицы MODIFY имя поля VARCHAR (128) NOT NULL;

Похожие вопросы