为何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


后记:很久之前写的一篇文章,忘记了有没有发表,今天整理网盘恰好看到,就发上来了。

相关文章
相关标签/搜索