检查重复值

本文关键字:检查 | 更新日期: 2023-09-27 18:23:52

假设我有下表:

PERSON :
ID INT
NAME STRING
LASTNAME STRING

在我的CRUD应用程序中,我不能允许用户插入现有的NAME-LASTNAME组合。最好的方法是什么?用户可以插入一个新人,也可以编辑一个已经存在的人。

检查重复值

您没有指定数据库,但如果您使用的是SQL Server 2008或更新版本,则应该在列上创建一个复合UNIQUE索引,因为只有活动用户才应该是唯一的,即经过筛选的用户;

CREATE UNIQUE INDEX uix ON PERSON(NAME, LASTNAME) WHERE ACTIVE=1;

此索引将只对活动用户进行索引,并且仅禁止对其进行重复。