Как изменить столбец MySQL, чтобы разрешить NULL?

MySQL 5.0.45

Каков синтаксис, чтобы изменить таблицу, чтобы позволить столбцу быть нулевым, а не что-то неправильное:

ALTER mytable MODIFY mycolumn varchar(255) null;

Я интерпретировал руководство как просто запустил выше, и он воссоздал столбец, на этот раз допустив null. Сервер говорит мне, что у меня синтаксические ошибки. Я просто их не вижу.

Ответ 1

Вы хотите следующее:

ALTER TABLE mytable MODIFY mycolumn VARCHAR(255);

По умолчанию столбцы имеют значение NULL. Пока столбец не объявлен UNIQUE или NOT NULL, проблем не должно быть.

Ответ 2

Синтаксическая ошибка вызвана отсутствующей "таблицей" в запросе

ALTER TABLE mytable MODIFY mycolumn varchar(255) null;

Ответ 3

Мое решение:

ALTER TABLE table_name CHANGE column_name column_name type DEFAULT NULL

Например:

ALTER TABLE SCHEDULE CHANGE date date DATETIME DEFAULT NULL;

Ответ 4

При некоторых обстоятельствах (если вы получаете "ERROR 1064 (42000): у вас есть ошибка в синтаксисе SQL;..." ) вам нужно сделать

ALTER TABLE mytable MODIFY mytable.mycolumn varchar(255);

Ответ 5

Мое решение такое же, как @Krishnrohit:

ALTER TABLE 'table' CHANGE 'column_current_name' 'new_column_name' DATETIME NULL;

На самом деле столбец был установлен как NOT NULL но в приведенном выше запросе он был изменен на NULL.

PS Я знаю, что это старая тема, но никто, кажется, не признает, что CHANGE также правильно.

Ответ 6

Если столбец двойной

      ALTER TABLE 'tablename' CHANGE 'column_name' 'column_name' DOUBLE NULL; 

Ответ 7

Использование: ALTER TABLE mytable MODIFY mycolumn VARCHAR(255);