MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

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)

  1. 空であってはならない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) 挿入コマンド-を使用して、テーブルにいくつか

  2. 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