Ответ 1
Вы хотите следующее:
ALTER TABLE mytable MODIFY mycolumn VARCHAR(255);
По умолчанию столбцы имеют значение NULL. Пока столбец не объявлен UNIQUE
или NOT NULL
, проблем не должно быть.
MySQL 5.0.45
Каков синтаксис, чтобы изменить таблицу, чтобы позволить столбцу быть нулевым, а не что-то неправильное:
ALTER mytable MODIFY mycolumn varchar(255) null;
Я интерпретировал руководство как просто запустил выше, и он воссоздал столбец, на этот раз допустив null. Сервер говорит мне, что у меня синтаксические ошибки. Я просто их не вижу.
Вы хотите следующее:
ALTER TABLE mytable MODIFY mycolumn VARCHAR(255);
По умолчанию столбцы имеют значение NULL. Пока столбец не объявлен UNIQUE
или NOT NULL
, проблем не должно быть.
Синтаксическая ошибка вызвана отсутствующей "таблицей" в запросе
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);
Мое решение такое же, как @Krishnrohit:
ALTER TABLE 'table' CHANGE 'column_current_name' 'new_column_name' DATETIME NULL;
На самом деле столбец был установлен как NOT NULL
но в приведенном выше запросе он был изменен на NULL
.
PS Я знаю, что это старая тема, но никто, кажется, не признает, что CHANGE
также правильно.
Если столбец двойной
ALTER TABLE 'tablename' CHANGE 'column_name' 'column_name' DOUBLE NULL;
Использование:
ALTER TABLE mytable MODIFY mycolumn VARCHAR(255);