zoukankan      html  css  js  c++  java
  • null和空 not null

    所谓的NULL就是什么都没有,连都没有,在字符串中是结束符,但是在物理内存是占空间的,等于一个字节,而NULL就是连这一个字节都没有。在 数据库里是严格区分的,任何数跟NULL进行运算都是NULL, 判断值是否等于NULL,不能简单用=,而要用IS关键字, Mysql3.23.0或 以后支持用<=>用来比较两个NULL值是否相等, 即 select * from table where id <=& gt; NULL.

    为什么会出现NULL?这是来源于数据库的左右连接,不是凭空想出来的。比如:
    A(ID, Name), B(ID, Address)
    1, Name1     1, Shanghai
    2, Name2     3, Beijing

    当A左连接B则得到: 
    1, Name1, Shanghai
    2, Name2, NULL

    当A右连接B则得到: 
    1, Name1, Shanghai
    3, NULL, Beijing

    数据库的字段ID设为NOT NULL, 仅仅说明该字段不能为NULL, 也就是说只有在
    INSERT INTO table(ID) VALUES(NULL);
    这种情况下数据库会报错,而
    INSERT INTO table(ID) VALUES('');
    这不能说明是NULL, 数据库系统会根据ID设的缺省值填充,或者如果是自增字段就自动加一
    等缺省操作。

    1.如果一个表中有not null 字段..当你向这个表插入数据的时候,为向该字段提供值的时候会报错.

    2.若该字段设置了,允许为空则会填充一个默认的null.

  • 相关阅读:
    stl
    Chopsticks Hdu1500
    Dp Hdu1421 搬寝室
    AOj448有趣的矩阵
    树状数组Hdu1541
    树状数组Hdu1166
    Floyd最小环Hdu1599
    三大主流ETL工具选型
    ETL概述
    POI操作Excel常用方法总结
  • 原文地址:https://www.cnblogs.com/zhepama/p/3555102.html
Copyright © 2011-2022 走看看