mysql字段defalut ''的区别

以下语句中,有什么区别么?老大说有,不是特别的清楚

`record_name` varchar(50) DEFAULT '' COMMENT '记录名'

`record_name` varchar(50) NOT NULL DEFAULT '' COMMENT '记录名'

回答:

除了一楼说的写入的区别之外,还有两点区别:

  1. MySQLNULL是需要占空间的;
  2. 在索引中没有办法存储NULL;

因此,这也就是为什么我们经常看到NOT NULL DEFAULT ''的原因所在。

回答:

第一个可以置为null,第二个不可以。。。

回答:

设置了default关键字过后,not null感觉有没有都没太大的区别

回答:

一楼正解,之前有个同事搞测试环境上题主中的第一种方式,到了正式环境是第二种方式,测试时没有发现问题,到了正式环境就报错了,提示字段类型错误,就是因为正式环境里insert语句有null设置

回答:

1、可以从下图中看到,如果是null的话,每一条记录开始时都会在最前面有额外的字节标识,如第12列是null,就需要用额外的两字节 0800来标识

图片描述

图片描述

图片描述

2、同时如果索引中有null会导致索引不生效
3、做比较是 可能会出现 null == 0的不正确结果

以上是 mysql字段defalut ''的区别 的全部内容, 来源链接: utcz.com/a/160892.html

回到顶部