gpt4 book ai didi

c# - asp.net mvc 避免重复

转载 作者:行者123 更新时间:2023-11-30 19:49:19 25 4
gpt4 key购买 nike

我有一个 Users 表,其中不能存在两个相同的用户,避免此错误的最佳方法是什么?

我所做的是在 Controller 中写了一个重复检查,但有人对我说这不是正确的做法。他说把unique放在数据库表上?我也在其他几个 Controller 上实现了这个。我应该改变它吗?

最佳答案

如果可能,最好在数据库级别实现数据约束。考虑以下情况:

大约在同一时间,有 2 个创建同名用户的请求。

  1. 请求 1 检查数据库是否存在 - 用户不存在;
  2. 不久之后,请求 2 检查数据库是否存在 - 用户不存在;
  3. 请求 1 创建此用户。
  4. 请求 2 创建了一个重复的用户。
  5. 砰。一切都按照您期望的方式停止工作。

至于是否使用唯一约束,或者将其作为主键,是另一个问题,很大程度上取决于您的情况(因为您在这张表上确实有某种主键,不是吗? ?)

关于c# - asp.net mvc 避免重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4193742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com