我创建了“客户”表并创建了一个表单来模拟注册过程。
单击“注册”按钮后,如果电子邮件和密码组合已经存在,我想拒绝注册过程。否则保存记录。
是否可以在 Microsoft Access 中实现这一点?
答案1
在两列上一起创建唯一约束,这将导致 Access 拒绝重复项,因为违反了唯一约束。如何处理错误将取决于您的表单。这里有一个 SO 答案:
相关答案:
在 MS Access 的设计视图中打开表,选择要设为唯一索引的三列,然后单击工具栏上的小键。主键(集)中不能有空值。https://stackoverflow.com/users/2548/remou
编辑,因为您已经有 PK 并且可能不想创建新的复合 PK 来替换它,但这是另一种选择:
无论如何,以下是在 MS Access 数据库上创建多列唯一索引的方法。1. 在设计模式下打开表,然后选择“设计”,选择“索引”。2. 创建新行并在“索引名称”单元格中输入值,3. 从下拉菜单中选择第一列。4. 添加新行并将“索引名称”单元格留空。5. 选择第二列,依此类推。 https://stackoverflow.com/users/47775/nbolton
另一个(糟糕的)选择是先查询数据库然后不插入,但这为以后潜在的参照完整性问题留下了空间。
不过,顺便提一句:您确定要为每一个用户名(电子邮件)/密码组合插入唯一的标识符吗?这可能会给忘记密码的用户带来麻烦,导致他们拥有重复的帐户。您可能要考虑其他复合标识符(例如,句柄 + 密码是唯一的,并且电子邮件对数据库是唯一的。或者只是让电子邮件地址是唯一的。我对您的问题集了解不够多 - 但这是值得思考的事情。