假设我有下表:
PERSON :
ID INT
NAME STRING
LASTNAME STRING
在我的CRUD应用程序中,我不允许用户插入现有的NAME-LASTNAME
组合。做这个的最好方式是什么?用户可以插入新人,也可以编辑已存在的人。
答案 0 :(得分:2)
您没有指定数据库,但如果您使用的是SQL Server 2008或更高版本,则应在列上创建复合UNIQUE索引,因为只有活动用户应该是唯一的,过滤的是; < / p>
CREATE UNIQUE INDEX uix ON PERSON(NAME, LASTNAME) WHERE ACTIVE=1;
此索引仅对活动用户编制索引,并仅禁用重复用户。