Подтвердить что ты не робот

Как удалить ненулевое ограничение?

Скажем, что таблица создана следующим образом:

create table testTable ( colA int not null )

Как бы вы сбросили ненулевое ограничение? Я ищу что-то по строкам

ALTER TABLE testTable ALTER COLUMN colA DROP NOT NULL;

что и было бы, если бы я использовал PostgreSQL. К моему удивлению, насколько я смог найти, документы MySQL, Google и да, даже Stackoverflow (несмотря на десятки или сотни вопросов, связанных с NULL), похоже, не приводят к одному простому оператору SQL который выполнит эту работу.

4b9b3361

Ответ 1

Я бы попробовал что-то вроде этого

ALTER TABLE testTable MODIFY COLUMN colA int;

Ответ 2

В MySQL значение nullability является частью типа данных, а не ограничения. Итак:

ALTER TABLE testTable MODIFY COLUMN colA int null; 

Ответ 3

Синтаксис был фактически закрыт:

ALTER TABLE testTable CHANGE colA colA int null;

Ответ 4

Try

ALTER TABLE testTable MODIFY COLUMN columnA int;

Ответ 5

ALTER TABLE test.tbl_employee 
CHANGE COLUMN `DepartmentId` `DepartmentId` INT(11) NULL;

Ответ 6

Это работает для меня

ALTER TABLE table_name
MODIFY COLUMN column_name VARCHAR(25) UNIQUE;

Ответ 7

Когда вы изменяете ограничение таблицы или тип данных в Mysql workbench, тогда он показывает код, который он будет выполнять для завершения запроса. И это запрос, который я получил из этого поля.

ALTER TABLE `table_name`.`column_name`  CHANGE COLUMN `column_name` `colunm_name`datatype NULL ;

Но улов здесь заключается в том, что вы не можете иметь первичный ключ как null, вы должны установить его уникальным.