如何在具有 NOT NULL 約束的 MySQL 表的字元類型欄位中插入 NULL 關鍵字作為值?

PHPz
發布: 2023-08-28 11:37:02
轉載
1226 人瀏覽過

如何在具有 NOT NULL 约束的 MySQL 表的字符类型列中插入 NULL 关键字作为值?

很可能會將 NULL 關鍵字作為值插入到具有 NOT NULL 限制的字元類型欄位中,因為 NULL 本身就是一個值。下面的範例將展示它 -

範例

假設我們有一個表 test2,其中包含字元類型列「Name」以及 NOT NULL 限制。可以從 DESCRIBE 語句中檢查如下 -

mysql> Describe test2\G
*************************** 1. row ***************************
  Field: id
   Type: int(11)
   Null: NO
    Key:
Default: NULL
  Extra:
*************************** 2. row ***************************
  Field: NAME
   Type: varchar(20)
   Null: NO
    Key:
Default: NULL
  Extra:
2 rows in set (0.03 sec) 
登入後複製

現在,借助以下查詢,我們可以在「Name」欄位中插入 NULL 作為值。

mysql> Insert into test2 values(2, 'NULL');
Query OK, 1 row affected (0.06 sec)

mysql> select * from test2;
+----+--------+
| id | NAME   |
+----+--------+
|  1 | Gaurav |
|  2 | NULL   |
+----+--------+
2 rows in set (0.00 sec) 
登入後複製

要了解「NULL」和「NULL 作為值」之間的區別,我們可以執行以下兩個查詢- 

mysql> delete from test2 where name IS NULL;
Query OK, 0 rows affected (0.00 sec) 
登入後複製

上面的查詢影響0 行,這表示沒有NULL行。可以從 SELECT 查詢中檢查到沒有行被刪除。

mysql> select * from test2;
+----+--------+
| id | NAME   |
+----+--------+
|  1 | Gaurav |
|  2 | NULL   |
+----+--------+
2 rows in set (0.00 sec)

mysql> delete from test2 where name = 'NULL';
Query OK, 1 row affected (0.09 sec) 
登入後複製

上面的查詢會影響 1 行,這表示有一行的值為 NULL。可以從 SELECT 查詢中檢查「NAME」列中值為 NULL 的行已被刪除。

mysql> select * from test2;
+----+--------+
| id | NAME   |
+----+--------+
|  1 | Gaurav |
+----+--------+
1 row in set (0.00 sec)
登入後複製

以上是如何在具有 NOT NULL 約束的 MySQL 表的字元類型欄位中插入 NULL 關鍵字作為值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板