從 MySQL 中的列中去除 NOT NULL 限制?


要刪除 MySQL 中列中的 NOT NULL 限制,請使用 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)

在上面的表中,如果您向 ‘Name’ 列插入 NULL 值,那麼 MySQL 將給出一個 NOT NULL 限制的錯誤。插入 NULL 值的查詢如下

mysql> insert into NotNullDemo(Name) values(NULL);
ERROR 1048 (23000): Column 'Name' cannot be null

以下是對 ‘Name’ 列刪除 NOT NULL 限制的查詢

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)

更新於: 30-7 月-2019

288 次瀏覽

開啟你的職業生涯

此課程結業獲得認證

開始
廣告
© . All rights reserved.