MySQL 5.0.45
Каков синтаксис для изменения таблицы, чтобы столбец мог быть пустым, или что не так с этим:
ALTER mytable MODIFY mycolumn varchar(255) null;
Я интерпретировал руководство как просто запустив вышеизложенное, и оно воссоздаст столбец, на этот раз допустив ноль. Сервер говорит мне, что у меня есть синтаксические ошибки. Я просто не вижу их.
Ответы:
Вы хотите следующее:
Столбцы обнуляются по умолчанию. Пока столбец не объявлен
UNIQUE
илиNOT NULL
не должно быть никаких проблем.источник
TIMESTAMP
типом, который в зависимости от вашей версии MySQL и конфигурации можетNOT NULL
указывать,NULL
как предложено @ConroyP, более правильно.Ваша синтаксическая ошибка вызвана отсутствием "таблицы" в запросе
источник
NULL
, это не делает этот ответ более «правильным», чем принятый ответ? Знание того, что столбцы обнуляются по умолчанию (как упомянуто в принятом ответе), полезно в отношении этого конкретного вопроса.Мое решение:
Например:
источник
При некоторых обстоятельствах (если вы получаете «ОШИБКА 1064 (42000): у вас есть ошибка в синтаксисе SQL; ...»), вам нужно сделать
источник
Мое решение такое же, как @Krishnrohit:
Я фактически установил столбец как,
NOT NULL
но с помощью вышеупомянутого запроса он был изменен наNULL
.PS Я знаю, что это старая тема, но никто, кажется, не признает, что
CHANGE
это также правильно.источник
Использование:
ALTER TABLE mytable MODIFY mycolumn VARCHAR(255);
источник