首頁 > 資料庫 > mysql教程 > 为什么mysql字段要设置为not null?

为什么mysql字段要设置为not null?

WBOY
發布: 2016-06-07 15:47:00
原創
1589 人瀏覽過

为什么mysql字段要设置为 not null ? 现在 大师来跟大家解释解释 首先 我们创建一个表 asd 字段为 null , qwe 字段为 not null ,都无默认 CREATE TABLE `tb` (`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,`asd` VARCHAR(45) NULL,`qwe` VARCHAR(45) NO

为什么mysql字段要设置为not null?
现在 大师来跟大家解释解释

首先 我们创建一个表 asd字段为nullqwe字段为not null,都无默认值

CREATE TABLE `tb` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`asd` VARCHAR(45) NULL,
`qwe` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idtb`)
)
登入後複製
然后
insert tb(asd) values('123123123');
insert tb(qwe) values('123123123');
登入後複製


现在 我们来查看这个表
请输入图片描述
可以看出
not null 的qwe字段 未设置的时候是个空字符串
null 的asd字段 未设置的时候是个NULL

以上结果 大家应该都可以想像到的。
那么为什么要设置NOT NULL呢
因为 MYSQL不是PHP,NULL不等于空字符串
比如我们查询qwe为空的

select * from tb where qwe=''
可以找到
请输入图片描述
但是

select * from tb where asd=''
则什么都找不到

而我们WEB开发的时候,果然有的地方插入记录 是指定空字符串,有的地方插入记录没有指定值,如果字段没设置NOT NULL,那就是出现:
请输入图片描述

而你查找的时候,只会出现
请输入图片描述

所以 要设置 NOT NULL
这个 就不会有NULL出现了。
登入後複製


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