MySQLの列からNOTNULL制限を削除しますか?
MySQLの列からNOTNULL制限を削除するには、ALTERコマンドを使用します。構文は次のとおりです。
ALTER TABLE yourTableName MODIFY COLUMN yourColumnName dataType;
上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです。
mysql> create table NotNullDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(20) NOT NULL, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.58 sec)
上記の表で、「名前」列にNULL値を挿入すると、MySQLはNOTNULL制限のエラーを出します。 NULL値を挿入するためのクエリは次のとおりです。
mysql> insert into NotNullDemo(Name) values(NULL); ERROR 1048 (23000): Column 'Name' cannot be null
列「名前」からNOTNULL制限を削除するためのクエリは次のとおりです。
mysql> alter table NotNullDemo MODIFY COLUMN Name varchar(20); Query OK, 0 rows affected (1.78 sec)
レコード:0重複:0警告:0
これで、選択に応じてNULL値を挿入できます。 NULL値でテーブルにレコードを挿入するクエリ:
mysql> insert into removeNotNulllDemo(Name) values(NULL); Query OK, 1 row affected (0.12 sec) mysql> insert into removeNotNulllDemo(Name) values('Sam'); Query OK, 1 row affected (0.14 sec) mysql> insert into removeNotNulllDemo(Name) values('Mike'); Query OK, 1 row affected (0.13 sec) mysql> insert into removeNotNulllDemo(Name) values(NULL); Query OK, 1 row affected (0.10 sec) mysql> insert into removeNotNulllDemo(Name) values(NULL); Query OK, 1 row affected (0.10 sec) mysql> insert into removeNotNulllDemo(Name) values('John'); Query OK, 1 row affected (0.13 sec)>
selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです。
mysql> select *from removeNotNulllDemo;
出力は次のとおりです。
+----+------+ | Id | Name | +----+------+ | 1 | NULL | | 2 | Sam | | 3 | Mike | | 4 | NULL | | 5 | NULL | | 6 | John | +----+------+ 6 rows in set (0.00 sec)
-
空であってはならないMySQL列に何を割り当てるのですか?
列が空であってはならない場合は、NOTNULLで定義します。まず、列の1つがNOTNULL-であるテーブルを作成しましょう。 mysql> create table DemoTable1895 ( Id int NOT NULL, FirstName varchar(20), LastName varchar(20) NOT NULL ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつか
-
MySQLの既存の列にNOTNULL属性を設定します
NOT NULL属性を既存の列に設定するには、ALTERTABLEコマンドを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1949 ( UserId int, UserName varchar(20) ); Query OK, 0 rows affected (0.00 sec) これは、既存の列にNOTNULL属性を設定するためのクエリです- mysql> alter table DemoTable1949 modify