爲何mysql字段要設置爲not null?

爲何mysql字段要設置爲not null?
如今 大師來跟你們解釋解釋mysql

首先 咱們建立一個表 asd字段爲nullqwe字段爲not null,都無默認值sql

CREATE TABLE `tb` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`asd` VARCHAR(45) NULL,
`qwe` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idtb`)
)

而後segmentfault

insert tb(asd) values('123123123');
insert tb(qwe) values('123123123');

如今 咱們來查看這個表
請輸入圖片描述
能夠看出
not nullqwe字段 未設置的時候是個空字符串
nullasd字段 未設置的時候是個NULLspa

以上結果 你們應該均可以想像到的。
那麼爲何要設置NOT NULL
由於 MYSQL不是PHP,NULL不等於空字符串
好比咱們查詢qwe爲空的code

select * from tb where qwe=''

能夠找到
請輸入圖片描述
可是圖片

select * from tb where asd=''

則什麼都找不到開發

而咱們WEB開發的時候,果真有的地方插入記錄 是指定空字符串,有的地方插入記錄沒有指定值,若是字段沒設置NOT NULL,那就是出現:
請輸入圖片描述字符串

而你查找的時候,只會出現
請輸入圖片描述class

因此 要設置 NOT NULL
這個 就不會有NULL出現了。select


後記:很久之前寫的一篇文章,忘記了有沒有發表,今天整理網盤恰好看到,就發上來了。

相關文章
相關標籤/搜索