数据库

is not null和!=null的混用与区别

作者:taoyongjun 来源:web交流网 2016-05-02 10:18 浏览:0 我要评论(0)

mysql数据库使用时,经常有新手将null理解成神么都没有,因此增删改等操作时,对于null和not null以及!=null的使用时常混淆。本文将粗略探讨其中的区别。

       mysql中,筛选非空的字段的条件经常用is not null和!=null,很多新手都觉得这两种方法是一样的,其实差别还是很大的!差别在哪呢?

      真正的null 表示什么也不是, 使用=、>、< … 等判断,结果都返回false,所有只能用 is null进行判断。
默认情况下,推荐使用 IS NOT NULL去判断,因为SQL默认情况下对!=null的判断会永远返回0行,但没有语法错误。

      如果你一定想要使!=null来判断,需要加上这个语句:set ANSI_NULLS off.这时S NOT NULL 和 != null 才是等效的。

    某个字段如果设为null,表示如果这个字段没有添加值时,自动插入一个“NULL”值(但是null值也是值,而不是空)。但是一个字段如果设为“NOT NULL”,表示如果这个字段不插入值时,不自动插入“NULL”值(任其空空如也)。

所以,设为“NULL”的意思反而是“不能无值”(由MYSQL自动赋“NULL”值),而设为“NOT NULL”是“可以无值”。

转载请注明出处。

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源;3.作者投稿可能会经我们编辑修改或补充。

网友点评
评论(已有0条评论)
还没有评论,快来抢沙发吧!
新闻
  • 新闻
  • 软件
精彩导读