数据库中,有些字段要求唯一性。我是设置unique约束。还是,当用户给我发请求时,我先去数据库中查找,看看该值是否已经存在。如果存在就返回用户已经存在,不存在的话才插入数据库。 如果是先判断数据库中是否已存在,那么unique约束还有什么用?
两个办法都有解决问题,看取舍,先查找,意味着要进行2次数据库操作,且可能存在要查询的时候不存在,但在你插入的时候就存在了(并发情况下),要解决这个问题; unique索引其实消耗的是数据库资源,同时代码里要捕获此异常,但肯定保障唯一性,至于第1种办法为什么还在存在,因为有分布式数据库啊,你没法做unique索引######谢谢,好像明白点了######你知道重复你就可以抛出棉球!而数据库那边的数据重复了就是给你抛一个铅球(而且是一个很难让用户明白的)! 所以,检查重复还是有必要的。######数据库唯一约束还是可以要的,外键你可以不要。######谢谢
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。