数据库表某字段设置default为Null好,还是“”好,或者是Empty String好呢
来源:互联网 发布:手机助手软件 编辑:程序博客网 时间:2024/05/01 01:20
最近开始给项目设计数据库,遇到一个可能很多人都会遇到的问题,就是设定某一个字段的默认值的时候,是设定null,“”,还是empty string呢?
首先我们从数据类型来分析这个问题:
我是phper,如果从php语言来看,要判断是不是空,用empty()这个函数,那么null和empty string 还有“”,结果都是一样的,但是如果从java,C#这些更高级点的语言来判断,null 和 empty string还是有区别。null在这些高级语言里面就是什么都是空,但是empty string虽然是空,但是是字符串string类型。
然后我们从mysql本身来看:
1:空值('')是不占用空间的2: MySQL中的NULL其实是占用空间的。官方文档说明:“NULL columns require additional space in the row to record whether their values are NULL. For MyISAM tables, each NULL column takes one bit extra, rounded up to the nearest byte.”
所以 mysql设计表时 建议不要用default NULL
string类型的可以default ''或者emptystring
int类型的可以default 0
另外一点,从不同的项目开发去分析这个问题:
以前单纯做web网页端,对这个默认值设定问题选用null 还是empty string。但是后来在另外一个团队开发app的时候,这个null和empty string的问题就尤为突出,因为我是用php做接口开发,如果一旦出现null的数据类型,没有处理直接返回去前端,那么无论是ios还是Android端,如果没有处理好这个空的判断,要么就直接输出null,要么程序直接报错。所有建议设计数据库的时候默认值尽量少用null.
0 0
- 数据库表某字段设置default为Null好,还是“”好,或者是Empty String好呢
- varchar 类型 当为NULL时,是存储值好,还是NULL值好
- Direct3D好,还是OpenGL好呢?
- 到底是测试好呢还是开发好了?
- 学习HCIE是自学好还是找培训机构呢
- MySQL数据库表的主键到底是用GUID好,还是INT好?
- 创业是单干好还是合伙好?
- 电脑是还原好还是重装系统好
- 做报表是用ecside 好呢,还是用ireport好
- 网页到底是用新窗口打开好,还是用当前页打开比较好呢
- chencang-----是使用淘宝API获取数据好,还是利用爬虫去抓取数据好呢
- 现在开始转做Android开发了,是用Eclipse好还是Android Studio好呢?
- 关于旅游方面是做手机App好还是微信公众平台好呢?
- 关于旅游方面是做手机App好还是微信公众平台好呢?
- 做ERP是vb.net好呢还是C#好呢,新款的用友用的什么语言?
- 还是取消黄金周为好
- 考研还是不考研好呢??
- 学软件开发.Net专业是考研好呢还是直接工作呢?
- linux脚本无权限但不提示的问题
- JPA注解
- HTTP/1.1
- Surround the Trees ssl 1720 计算几何
- LightOJ 1006 - Hex-a-bonacci
- 数据库表某字段设置default为Null好,还是“”好,或者是Empty String好呢
- PHP 学习之路 基础
- 用源码安装 appium
- android studio将导入的三方module整理到一个文件夹下
- 全志R58的官方开发板加载bmi160驱动的步骤2C
- iOS开发(第三方使用)——极光推送SDK接入
- 我是如何面试产品经理的
- 条理清晰的搭建SSH环境之整合Hibernate和Spring
- C/C++开发者必备:十款免费集成开发环境IDE