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.

  • 相关阅读:
    HDU 1022 Train Problem I
    HDU 1702 ACboy needs your help again!
    HDU 1294 Rooted Trees Problem
    HDU 1027 Ignatius and the Princess II
    HDU 3398 String
    HDU 1709 The Balance
    HDU 2152 Fruit
    HDU 1398 Square Coins
    HDU 3571 N-dimensional Sphere
    HDU 2451 Simple Addition Expression
  • 原文地址:https://www.cnblogs.com/zhepama/p/3555102.html
Copyright © 2011-2022 走看看