很可能將 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 關鍵字作為值?的詳細內容,更多請關注www.92cms.cn其它相關文章!