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设计表注意事项