为什么建表时,加not null default ” / default 0

  • 2,335

为什么建表时,加not null default '' / default 0

答:不想让表中出现null值.

 

为什么不想要的null的值

答:

不好比较,null是一种类型,比较时,只能用专门的is null 和 is not null来比较.

碰到运算符,一律返回null

效率不高,影响提高索引效果.

 

因此,我们往往,在建表时 not null default ''/0

    mysql> create table t11 (
        -> id int not null default 0,
        -> name char(10) not null default ''
        -> );
    Query OK, 0 rows affected (0.19 sec)
    mysql> insert into t11 values (1,'lisi');
    Query OK, 1 row affected (0.06 sec)
    mysql> insert into t11(id) values (1);
    Query OK, 1 row affected (0.06 sec)
    mysql> select * from t11;
    +----+------+
    | id | name |
    +----+------+
    |  1 | lisi |
    |  1 |      |
    +----+------+
    2 rows in set (0.00 sec)
    mysql> select * from t11 where name='';
    +----+------+
    | id | name |
    +----+------+
    |  1 |      |
    +----+------+
    1 row in set (0.02 sec)
    mysql>

 

weinxin
我的微信
这是我的微信扫一扫
开拓者博主
  • 本文由 发表于 2016年7月22日13:26:55
  • 转载请务必保留本文链接:https://www.150643.com/214.html
匿名

发表评论

匿名网友 填写信息