很可能會將 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中文網其他相關文章!