MySQL列をNOTNULL制約を持つように変更します
制約を更新するには、MODIFYコマンドを使用します。以下は構文です-
alter table yourTableName modify yourExistingColumnName yourExistingDataType NOT NULL;
まずテーブルを作成しましょう-
mysql> create table DemoTable -> ( -> UserId int NOT NULL AUTO_INCREMENT, -> UserFirstName varchar(100), -> UserLastName varchar(100), -> UserEmailId varchar(100), -> UserPassword varchar(100), -> PRIMARY KEY(UserId) -> ); Query OK, 0 rows affected (0.91 sec)
以下は、列の制約をNOTNULLに変更するためのクエリです-
mysql> alter table DemoTable modify UserFirstName varchar(100) NOT NULL; Query OK, 0 rows affected (2.13 sec) Records: 0 Duplicates: 0 Warnings: 0
descコマンドを使用して、列にNOTNULL制約があるかどうかを確認してみましょう-
mysql> desc DemoTable;
出力
これにより、次の出力が生成されます。これで、UserFirstName列にNOTNULL制約があります-
+---------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------+--------------+------+-----+---------+----------------+ | UserId | int(11) | NO | PRI | NULL | auto_increment | | UserFirstName | varchar(100) | NO | | NULL | | | UserLastName | varchar(100) | YES | | NULL | | | UserEmailId | varchar(100) | YES | | NULL | | | UserPassword | varchar(100) | YES | | NULL | | +---------------+--------------+------+-----+---------+----------------+ 5 rows in set (0.17 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