zoukankan      html  css  js  c++  java
  • 对”唯一键可以包含NULL值,并且每个NULL值都是唯一的(即NULL!=NULL)“理解

      因为最近在写一篇关于字符串模糊检索的论文,开始比较细致的研究数据库(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介绍

  • 相关阅读:
    memcache详解
    redis详解
    laravel5表单验证
    MySQL添加字段和修改字段
    delete和truncate区别
    IOC 和DI(转载)
    JPA和SpringData知识梳理
    spring和springmvc配置分离
    springboot 整合 mybatis
    mongodb安装及配置
  • 原文地址:https://www.cnblogs.com/xiangyangzhu/p/5384161.html
Copyright © 2011-2022 走看看