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

既存のMySQLテーブルの列にNOTNULL制約を適用するにはどうすればよいですか?


ALTER TABLEステートメントを使用して、既存のMySQLテーブルの列にNOTNULL制約を適用できます。

構文
ALTER TABLE table_name MODIFY colum_name datatype NOT NULL; 
mysql> Create table test123(ID INT, Date DATE);
Query OK, 0 rows affected (0.19 sec)

mysql> Describe test123;

+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| ID    | int(11) | YES  |     | NULL    |       |
| Date  | date    | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.04 sec)

mysql> ALTER TABLE test123 MODIFY ID INT NOT NULL;
Query OK, 0 rows affected (0.54 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> Describe test123;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| ID    | int(11) | NO   |     | NULL    |       |
| Date  | date    | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.06 sec)

  1. MySQL列をNOTNULL制約を持つように変更します

    制約を更新するには、MODIFYコマンドを使用します。以下は構文です- alter table yourTableName modify yourExistingColumnName yourExistingDataType NOT NULL;   まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> UserId int NOT NULL AUTO_INCREMENT,    -> UserFirstName varchar(100

  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