当前位置:首页 > 技术积累 > 正文内容

关于数据库表字段设计的一点经验

竹林之风8个月前 (02-20)技术积累1106

        项目中我们通常使用ORM对数据库进行读写操作,在更新一条记录时大部分时候我们会先从数据库读取该记录,修改数据库实体类实例的属性后再更新。如果读取该记录时,返回字段列表未使用*或全部字段而是只返回部分字段,那么其它体类实例的其它属性值则为null,这样更新可能将表中对应字段也覆盖成null。

        大多ORM可以跟踪属性变化或有快照功能,可以只更新修改过的字段。但是若忘记使用快照或其它原因,就很可能把不该为null的字段覆盖为null了。这时关于数据库表字段设计的一点经验就是:

1、除时间类型等字段外,字段都设为不允许null,防止把不该为null的字段覆盖为null;

2、除时间类型等字段外,字段使用默认值,以避免使用null值(如字符串使用空、数值使用0,逻辑使用false等)。

        当然对应的数据库表实体类的属性默认值应为null,以防将未变更的相应字段覆盖为默认值。

扫描二维码推送至手机访问。

版权声明:本文由久爱编程网发布,如需转载请注明出处。

本文链接:https://www.9icode.com/index.php/post/383.html

标签: 数据库
分享给朋友:

“关于数据库表字段设计的一点经验” 的相关文章

jQuery AJAX跨域在IE9及以下版本中失效问题

jQuery AJAX跨域在IE9及以下版本中失效问题

        使用jQuery AJAX在IE9及以下版本浏览器中提交HTTP跨域请求时,浏览器会报错且并不执行该操作,是因为IE9及以下版本默认不支持跨域请...

Java相关的一些名词

Java相关的一些名词

Java语言:一种程序设计语言,版本号从1.0到1.4,从1.5起版本号变更为5、6、……;JDK版本号、Java平台版本号类同。Java平台:1998年12月发布JDK 1.2后,Java从与平台无关的语言变成Java 2平台,分为三个版...

云平台多租户系统的设计方案

云平台多租户系统的设计方案

        多租户(Multi Tenancy)是指在一个云平台上,多个不同的客户共用相同的平台和架构但又相互独立并对各自的用户提供服务。多租户相同有4个特...

ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常问题解决

ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常问题解决

        ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常时,其中一个原因是:在已经重定向后又重定向。在ASP.NET中实现重定向有以下几...

ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常问题解决

ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常问题解决

        ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常,是因为设置Response的StatusCode之前,程序已设置响应标头。可从以...

ASP.NET网站自定义错误处理及其它安全相关

ASP.NET网站自定义错误处理及其它安全相关

        ASP.NET网站在运行过程中总是有可能报错,例如404等HTTP错误、500等程序异常。在IIS托管并报错的情况下,网站的默认行为依次是:(1).NET运行时接收并处理的部分显示.N...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。