MySQL 5.0.45
Каков синтаксис, чтобы изменить таблицу, чтобы позволить столбцу быть нулевым, а не что-то неправильное:
ALTER mytable MODIFY mycolumn varchar(255) null;
Я интерпретировал руководство как просто запустил выше, и он воссоздал столбец, на этот раз допустив null. Сервер говорит мне, что у меня синтаксические ошибки. Я просто их не вижу.
Вы хотите следующее:
ALTER TABLE mytable MODIFY mycolumn VARCHAR(255);
По умолчанию столбцы имеют значение NULL. Пока столбец не объявлен UNIQUE
или NOT NULL
, проблем не должно быть.
TIMESTAMP
, который в зависимости от вашей версии MySQL и конфигурации может быть NOT NULL
указав NULL
как предложено @ConroyP, более правильно.
Синтаксическая ошибка вызвана отсутствующей "таблицей" в запросе
ALTER TABLE mytable MODIFY mycolumn varchar(255) null;
Мое решение:
ALTER TABLE table_name CHANGE column_name column_name type DEFAULT NULL
Например:
ALTER TABLE SCHEDULE CHANGE date date DATETIME DEFAULT NULL;
При некоторых обстоятельствах (если вы получаете "ERROR 1064 (42000): у вас есть ошибка в синтаксисе SQL;..." ) вам нужно сделать
ALTER TABLE mytable MODIFY mytable.mycolumn varchar(255);
Использование:
ALTER TABLE mytable MODIFY mycolumn VARCHAR(255);