码迷,mamicode.com
首页 > 其他好文 > 详细

对”唯一键可以包含NULL值,并且每个NULL值都是唯一的(即NULL!=NULL)“理解

时间:2016-04-12 20:54:20      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

  因为最近在写一篇关于字符串模糊检索的论文,开始比较细致的研究数据库(MySQL)中的index问题,变到图书馆借了本《Effective MySQL之SQL语句最优化》(Ronald Bradford著,李雪峰译)。今天在里面看到了这句”唯一键可以包含NULL值,并且每个NULL值都是唯一的(即NULL!=NULL)“。第一反应是:我去,什么鬼?简直不是人话啊!!其实计算机行业好多这种话,想了想然后便到网上查找了写资料!

  使用WHERE子句的SQL SELECT命令来从MySQL表获取数据。但是,当我们试图给的条件比较字段或列的值为NULL,它不能正常工作。

为了处理这种情况,MySQL提供了三大运算符

  1.     IS NULL: 此运算符返回true,当列的值是NULL。
  2.     IS NOT NULL: 运算符返回true,当列的值不是NULL。
  3.     <=> 操作符比较值(不同于=运算符)为ture,即使两个NULL值

  涉及NULL条件是特殊的。不能使用 =NULL 或 !=NULL 寻找NULL值的列。这种比较总是告诉他们是否是真正的失败,因为这是不可能的。即使是NULL=NULL失败。

如果要查找是或不是NULL的列,请使用IS NULL或IS NOT NULL。

参考文献:

  1、详解MySQL中的NULL值

  2、mysql中is not null和!=null及null介绍

对”唯一键可以包含NULL值,并且每个NULL值都是唯一的(即NULL!=NULL)“理解

标签:

原文地址:http://www.cnblogs.com/xiangyangzhu/p/5384161.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!