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

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

竹林之风4周前 (02-20)技术积累285

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

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

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

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

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

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

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

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

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

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

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...

从被扫描记录看网站安全应该注意的一些细节

从被扫描记录看网站安全应该注意的一些细节

1、尽可能地隐藏服务器真实IP,减少攻击目标。例如使用负载均衡、网关等作为门户,由负载均衡或网关转发到后端服务器。2、服务器必须开放的服务(除HTTP、HTTPS等为公众开放的服务外),尽可能改为其它较大的不常用的端口号,这样攻击者需要扫描...

ASP.NET Core网站报“An assembly specified in the application dependencies manifest was not found”异常解决

ASP.NET Core网站报“An assembly specified in the application dependencies manifest was not found”异常解决

        ASP.NET Core网站报“An assembly specified in the application dependencies ma...

ASP.NET MVC WebApi控制器方法使用async假死超时问题

ASP.NET MVC WebApi控制器方法使用async假死超时问题

        在一个ASP.NET MVC WebApi控制器方法中使用async标记为异步方法后,有时会假死超时。根本原因是同步方法和异步方法混合造成的死锁...

发表评论

访客

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