mysql建字符串字段时空字符串("")和empty string有什么样的区别?
以前都是用phpmyadmin管理mysql的,建立字段的时候空就是""。后来这一段时间用了Navicat这个软件。发现在建立字段的时候有2个空字符串的选项,如下图
网上我看了下,有人说这2个主要区别就是第一个("")占用空间,第二个(Empty String)不占用空间。 如此一来,那我觉得Empty String就和NULL很像了啊。
所以我想知道他们有什么本质的区别?方便我在以后建字段的时候知道什么时候选择对应的类型。谢谢了
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
空字串顾名思义是个string嘛~
NULL哪方面都是NULL(说法比较通俗...)
从长度来看空字串的长度是0 而NULL长度为NULL
在InnoDB中 NULL比空字串占用更少的空间哦
这两种设计在数据库是否占空间的层面上考虑不会太多,更多的时候还是考虑业务需要会更好。
比如某个字段一定要显示,那如果没有只就为“”,前端显示就不要去转换了,也不会引发未考虑到的空指针异常。
而有些字段是可写或可不写,那么为null就表示从来没有填写过,做一些相应的逻辑控制,相当于多了一个状态位。