對于mysql數據表中NULL值的詳細說明
發表時間:2023-09-07 來源:明輝站整理相關軟件相關文章人氣:
[摘要]使用NULL值NULL 值就是沒有值或缺值。允許 NULL 值的列也允許在插入行時不給出該列的值。不允許 NULL 值的列不接受該列沒有值的行,換句話說,在插入或更新行時,該列必須有值。每個表列或者是 NULL 列,或者是 NOT NULL 列,這種狀態在創建時由表的定義規定。請看下面的例子:輸入...
使用NULL值NULL 值就是沒有值或缺值。允許 NULL 值的列也允許在插入行時不給出該列的值。不允許 NULL 值的列不接受該列沒有值的行,換句話說,在插入或更新行時,該列必須有值。
每個表列或者是 NULL 列,或者是 NOT NULL 列,這種狀態在創建時由表的定義規定。請看下面的例子:
輸入:
create table orders
(
order_num int NOT NULL AUTO_INCREMENT,
order_date datetime NOT NULL,
cust_id int NOT NULL,
PRIMARY KEY (order_num)
)ENGINE = InnoDB;
分析:這條語句創建本書中所用的 orders 表。 orders 包含3個列,分別是訂單號、訂單日期和客戶ID。所有3個列都需要,因此每個列的定義都含有關鍵字 NOT NULL 。這將會阻止插入沒有值的列。如果試圖插入沒有值的列,將返回錯誤,且插入失敗。
下一個例子將創建混合了 NULL 和 NOT NULL 列的表:
輸入:
create table vendors
(
vend_id int NOT NULL AUTO_INCREMENT,
vend_name char(50) NOT NULL,
vend_address char(50) NULL,
vend_city char(50) NULL,
vend_state char(5) NULL,
vend_zip char(10) NULL,
vend_country char(50) NULL,
PRIMARY KEY (vend_id )
)ENGINE = InnoDB;
分析:這條語句創建本書中使用的 vendors 表。供應商ID和供應商名字列是必需的,因此指定為 NOT NULL 。其余5個列全都允許 NULL 值,所以不指定 NOT NULL 。 NULL 為默認設置,如果不指定 NOT NULL ,則認為指定的是 NULL 。
mysql null和空的區別
理解 NULL 不要把 NULL 值與空串相混淆。 NULL 值是沒有值,它不是空串。如果指定 '' (兩個單引號,其間沒有字符),這在 NOT NULL 列中是允許的。空串是一個有效的值,它不是無值。 NULL 值用關鍵字 NULL 而不是空串指定。
以上就是關于mysql數據表中NULL值的詳解的詳細內容,更多請關注php中文網其它相關文章!
學習教程快速掌握從入門到精通的SQL知識。