web-dev-qa-db-ja.com

非ヌル制約を削除するにはどうすればよいですか?

次のように作成されたテーブルがあるとしましょう:

create table testTable ( colA int not null )

Not null制約をどのように削除しますか?私はの線に沿って何かを探しています

ALTER TABLE testTable ALTER COLUMN colA DROP NOT NULL;

これは、PostgreSQLを使用した場合の外観です。驚いたことに、私が見つけた限りでは、MySQL Docs、Google、そしてStackoverflow(数十または数百のNULL関連の質問にもかかわらず)でさえ、単一の単純なSQLステートメントにつながるようには見えません。仕事をします。

私はこのようなことを試してみます

ALTER TABLE testTable MODIFY COLUMN colA int;
79
michael.zischka

MySQLでは、nullabilityはデータ型の一部であり、制約ではありません。そう:

ALTER TABLE testTable MODIFY COLUMN colA int null; 
9
Seva Alekseyev

構文は実際には近いものでした:

ALTER TABLE testTable CHANGE colA colA int null;
2
Noah Ternullo

試してみる

ALTER TABLE testTable MODIFY COLUMN columnA int;
1
Pratik Kar
ALTER TABLE test.tbl_employee 
CHANGE COLUMN `DepartmentId` `DepartmentId` INT(11) NULL;
0
Chaitanya

Mysqlワークベンチでテーブル制約またはデータ型を変更すると、リクエストを完了するために実行するコードが表示されます。そして、これは私がそのボックスから得たクエリです。

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

ただし、ここでの問題は、主キーをnullにすることはできず、代わりに一意に設定する必要があることです。

0
Tushar Zagade

これは私のために働く

ALTER TABLE table_name
MODIFY COLUMN column_name VARCHAR(25) UNIQUE;
0
B-shan