mysql建字符串字段时空字符串("")和empty string有什么样的区别?

发布于 2022-08-31 20:58:27 字数 341 浏览 11 评论 0

以前都是用phpmyadmin管理mysql的,建立字段的时候空就是""。后来这一段时间用了Navicat这个软件。发现在建立字段的时候有2个空字符串的选项,如下图
图片描述

网上我看了下,有人说这2个主要区别就是第一个("")占用空间,第二个(Empty String)不占用空间。 如此一来,那我觉得Empty String就和NULL很像了啊。
所以我想知道他们有什么本质的区别?方便我在以后建字段的时候知道什么时候选择对应的类型。谢谢了

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

堇年纸鸢 2022-09-07 20:58:27

空字串顾名思义是个string嘛~
NULL哪方面都是NULL(说法比较通俗...)
从长度来看空字串的长度是0 而NULL长度为NULL
在InnoDB中 NULL比空字串占用更少的空间哦

峩卟喜欢 2022-09-07 20:58:27

这两种设计在数据库是否占空间的层面上考虑不会太多,更多的时候还是考虑业务需要会更好。

比如某个字段一定要显示,那如果没有只就为“”,前端显示就不要去转换了,也不会引发未考虑到的空指针异常。
而有些字段是可写或可不写,那么为null就表示从来没有填写过,做一些相应的逻辑控制,相当于多了一个状态位。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文