千万不要给mysql字段默认值null


先来看一个sql语句

select 1=null as a, 1!=null as b, null=null as c, null != null as d, null is null as e;

结果如下:

显然结果跟一般人预期的不一样。其他情况,尤其是在聚合函数中情况更糟糕。

总结

null值是不能与任何值比较的,包括它自身,只能用col is null或者col is not null这种语法来判断一个列是不是null

在设计表结构的时候,最好使用默认值0或者''这种零值,将字段设置成not null

#一步一个小知识点#


文章作者: Alex
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Alex !
  目录