ALTER TABLE ステートメントを使用して、既存のテーブルの列から NOT NULL 制約を削除できます。
テーブル「test123」があり、次のように列「ID」に NOT NULL 制約があるとします。 -
mysql> DESCRIBE test123; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | ID | int(11) | NO | | NULL | | | Date | date | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.04 sec)
次に、NOT NULL 制約を削除します。次に、以下に示すように ALTER TABLE ステートメントを使用できます。
mysql> ALTER TABLE test123 MODIFY ID INT NULL; Query OK, 0 rows affected (0.20 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESCRIBE test123; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------ +---------+------+-----+---------+-------+ | ID | int(11) | YES | | NULL | | | Date | date | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.06 sec)
上記の結果セットは、列 "ID" の NOT NULL 制約が削除されたことを示しています。
上記のクエリでは、キーワード MODIFY の後のキーワード NULL はオプションです。次のクエリでも上記と同じ結果が生成されます -
mysql> ALTER TABLE test123 MODIFY ID INT; Query OK, 0 rows affected (0.20 sec) Records: 0 Duplicates: 0 Warnings: 0
以上が既存の MySQL テーブルの列から NOT NULL 制約を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。