次のように作成されたテーブルがあるとしましょう:
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;
MySQLでは、nullabilityはデータ型の一部であり、制約ではありません。そう:
ALTER TABLE testTable MODIFY COLUMN colA int null;
構文は実際には近いものでした:
ALTER TABLE testTable CHANGE colA colA int null;
試してみる
ALTER TABLE testTable MODIFY COLUMN columnA int;
ALTER TABLE test.tbl_employee
CHANGE COLUMN `DepartmentId` `DepartmentId` INT(11) NULL;
Mysqlワークベンチでテーブル制約またはデータ型を変更すると、リクエストを完了するために実行するコードが表示されます。そして、これは私がそのボックスから得たクエリです。
ALTER TABLE `table_name`.`column_name` CHANGE COLUMN `column_name` `colunm_name`datatype NULL ;
ただし、ここでの問題は、主キーをnullにすることはできず、代わりに一意に設定する必要があることです。
これは私のために働く
ALTER TABLE table_name
MODIFY COLUMN column_name VARCHAR(25) UNIQUE;