MYSQL问题,为什么设置为允许为空的字段却差不进去控值呢

MYSQL问题,为什么设置为允许为空的字段却差不进去控值呢,第1张

最可能的原因就是插入方法错误。

如有这样一个表,其中字段2允许为空

字段1   字段2   字段3

那么可以写语句:

insert into 表名( 字段1,字段2,字段3)  values (1,null,1)

如果这样写,就会有错误:

insert into 表名( 字段1,字段2,字段3)  values (1,,1)

所以,如果插入空的时候一定要写上null。

.不要以为 NULL 不需要空间,其需要额外的空间,

2.在你进行比较的时候,会带来逻辑上的浮躁。

3.一般教程上 都在设计表那块写着 原则上每个字段都不要为NULL

查询字段为空的数据。如下三条语句查询的结果各不相同。

select count(0) from tps_uw_detail where trim(coreContNo)=''###1736

select count(0) from  tps_uw_detail where coreContNo is null###735

select count(0) from  tps_uw_detail where (coreContNo is null or trim(coreContNo)='')##2471

=''就是存的空字符串;is null 就是默认的。

由于是后来新加的字段,默认为null,所以历史数据都为null。表中加上这个字段后,再落库的数据就是空字符串了。

根据自己的需求选用脚本,第三个是适合我的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6095865.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-14
下一篇 2023-03-14

发表评论

登录后才能评论

评论列表(0条)

保存