数据删除外键验证最佳实践

问题描述 投票:0回答:1

验证删除的最佳实践是什么。

例如,我有桌子

单位和产品,每个产品都必须有一个单位,因为数据是相关的,如果您尝试从产品中的单位中删除数据,系统将抛出错误。

我的疑问是:

  • 我让系统抛出错误并处理错误。

  • 创建验证(例如,从产品表中选择,检查是否存在具有该单位的产品)

或者有更推荐的选择吗?

database rest architecture
1个回答
0
投票

一般来说出于多种原因,最好避免使用异常进行流量控制。诸如创建堆栈跟踪之类的事情可能会很昂贵,执行写入事务比读取更昂贵(并且通常只能在主数据库上完成)。一般规则是,例外情况应该是例外情况,如果您可以合理地将它们预期为申请流程的一部分,那么您就应该这样做。

这是一个“经验法则”,根据您的应用程序,它可能真的不常见。如果您通常希望 API 的使用者了解该约束,并在删除之前“清理”,那么您可能可以将其保留为例外。如果尝试删除是正常过程,然后通过查看另一个表来对错误做出反应,那么您应该更加努力,不要让这成为一个错误。

© www.soinside.com 2019 - 2024. All rights reserved.