开发者社区> 问答> 正文

业务设计问题,新手 400 请求报错 

数据库中,有些字段要求唯一性。我是设置unique约束。还是,当用户给我发请求时,我先去数据库中查找,看看该值是否已经存在。如果存在就返回用户已经存在,不存在的话才插入数据库。 如果是先判断数据库中是否已存在,那么unique约束还有什么用?

展开
收起
kun坤 2020-05-30 22:49:35 602 0
1 条回答
写回答
取消 提交回答
  • 两个办法都有解决问题,看取舍,先查找,意味着要进行2次数据库操作,且可能存在要查询的时候不存在,但在你插入的时候就存在了(并发情况下),要解决这个问题; unique索引其实消耗的是数据库资源,同时代码里要捕获此异常,但肯定保障唯一性,至于第1种办法为什么还在存在,因为有分布式数据库啊,你没法做unique索引######谢谢,好像明白点了######你知道重复你就可以抛出棉球!而数据库那边的数据重复了就是给你抛一个铅球(而且是一个很难让用户明白的)! 所以,检查重复还是有必要的。######数据库唯一约束还是可以要的,外键你可以不要。######谢谢

    2020-05-30 22:49:40
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
无需部署的前端中间件技术——企业移动化新思路 立即下载
利用 Poplayer 在手淘中实现稳定业务和临时业务分离 立即下载
利用Poplayer在手淘中实现稳定业务和临时业务分离 立即下载