避免重复内容的最佳实践?

2013-10-07 23:27:23 +08:00
 supersheep
通常我们为了避免重复内容的产生,会在业务里限制比如一个系统中不能有同名的用户,不能有同ISBN的书目等等。

那么有两个问题想要请教一下大家:

1. 如果插入的时候发现数据已经存在,这个时候作什么返回最为合理?

1) 返回特定的错误码,并告知客户端数据已存在
2) 如同正常插入一样,只是若已经有的话返回已有数据

2. 一般这个约束是在哪里做的

我理解的,通常会在业务里处理,但是为了保证系统的健壮,会在数据库层面也加一下约束。
那么,这类数据库上一次性的,可有可无的约束,通常会在部署的哪一个步骤去做?有没有什么workflow可以有效的防止忘记或者误操作这一类事情?

后端不大熟,忘大家指教^^
2762 次点击
所在节点    问与答
3 条回复
9hills
2013-10-07 23:34:39 +08:00
插入重复数据返回错误还是正常要看你的业务逻辑

你的业务逻辑认为重复数据是偶然的,不应该出现的,则返回错误
你的业务逻辑认为重复数据是常见的,必然的,则返回正常
binux
2013-10-07 23:35:48 +08:00
最佳实践都是——视情况而定
yangqi
2013-10-08 00:18:49 +08:00
后端么就是数据库一定要设好Unique key,至于遇到重复是返回错误还是更新这个根据不同业务是不一样的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/84801

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX