msql疑惑总结--建表时default ‘‘和 default null 区别

1,问题背景:

最近在建表,但是发现参考…咳咳咳,发现一个问题那就是varchar字符有两种的默认格式,查了记录一下。

2,解释:

(1)default ‘’ 指的是--------------------默认空字符
(2)default null 指的是----------------默认值为null

3,用哪个好呢?

建表的时候尽量不要使用:default null

3.1,解释:为什么尽量不要使用default null ?

1> 索引不会包括NULL值。影响索引的统计信息,影响优化器的判断。

2>复合索引中只要有一列含有NULL值,那么这一列对于此复合索引就是无效的。

3> 所以我们在数据库设计时不要让字段的默认值为NULL。

字段统一加上not null default ‘合理默认值’

引用文章:mysql设计表注意事项

你可能感兴趣的:(MySQL,mysql,sql,数据库)