为什么mysql字段要设置为not null?
程序员文章站
2022-04-16 15:50:06
...
为什么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
字段为null
,qwe
字段为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出现了。
推荐阅读
-
MySQL中判断摸个字段的值是否为空NULL
-
MySQL字段的属性应该尽量设置为NOT NULL
-
mysql 求解求2个或以上字段为NULL的记录
-
为什么mysql字段要使用NOT NULL
-
MySQL中可为空的字段设置为NULL还是NOT NULL
-
mysql为datetime类型字段设置默认值default
-
设置mysql客户端显示为utf8 字符集 (需要保证mysql varchar字段都为utf8)
-
navicat for mysql在设置字段值时空和null有什么区别
-
navicat for mysql在设置字段值时空和null有什么区别
-
mysql中查询字段为null或者不为null_MySQL