既存のMySQLテーブルの列からNOTNULL制約を削除するにはどうすればよいですか?
ALTER TABLEステートメントを使用して、既存のテーブルの列からNOTNULL制約を削除できます。
次のように、列「ID」にNOTNULL制約があるテーブル「test123」があるとします-
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制約を削除する場合は、次のようにALTERTABLEステートメントを使用できます-
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」のNOTNULL制約が削除されたことを示しています。
上記のクエリでは、キーワードMODIFYの後のキーワードNULLはオプションです。次のクエリでも、上記と同じ結果が生成されます-
mysql> ALTER TABLE test123 MODIFY ID INT; Query OK, 0 rows affected (0.20 sec) Records: 0 Duplicates: 0 Warnings: 0
-
すでに作成されているMySQL列にNOTNULL制約を追加するにはどうすればよいですか?
これは、ALTERTABLEを使用して実現します。まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(100) -> ); Query OK, 0 rows affected (0.86 sec) 表の説明を確認しましょう- mysql> desc De
-
MySQLテーブルからインデックスを削除します
MySQLテーブルからインデックスを削除するための構文は、次のとおりです- alter table yourTableName drop index `yourIndexName`; まずテーブルを作成しましょう- Mysql> create table DemoTable1469 -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(40), ->