Ответ 1
Я бы попробовал что-то вроде этого
ALTER TABLE testTable MODIFY COLUMN colA int;
Скажем, что таблица создана следующим образом:
create table testTable ( colA int not null )
Как бы вы сбросили ненулевое ограничение? Я ищу что-то по строкам
ALTER TABLE testTable ALTER COLUMN colA DROP NOT NULL;
что и было бы, если бы я использовал PostgreSQL. К моему удивлению, насколько я смог найти, документы MySQL, Google и да, даже Stackoverflow (несмотря на десятки или сотни вопросов, связанных с NULL), похоже, не приводят к одному простому оператору SQL который выполнит эту работу.
Я бы попробовал что-то вроде этого
ALTER TABLE testTable MODIFY COLUMN colA int;
В MySQL значение nullability является частью типа данных, а не ограничения. Итак:
ALTER TABLE testTable MODIFY COLUMN colA int null;
Синтаксис был фактически закрыт:
ALTER TABLE testTable CHANGE colA colA int null;
Try
ALTER TABLE testTable MODIFY COLUMN columnA int;
ALTER TABLE test.tbl_employee
CHANGE COLUMN `DepartmentId` `DepartmentId` INT(11) NULL;
Это работает для меня
ALTER TABLE table_name
MODIFY COLUMN column_name VARCHAR(25) UNIQUE;
Когда вы изменяете ограничение таблицы или тип данных в Mysql workbench, тогда он показывает код, который он будет выполнять для завершения запроса. И это запрос, который я получил из этого поля.
ALTER TABLE `table_name`.`column_name` CHANGE COLUMN `column_name` `colunm_name`datatype NULL ;
Но улов здесь заключается в том, что вы не можете иметь первичный ключ как null, вы должны установить его уникальным.