检查重复值
本文关键字:检查 | 更新日期: 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;
此索引将只对活动用户进行索引,并且仅禁止对其进行重复。