在特定数字上设置唯一的字段

Set field unique on a specific number

我正在开发一个应用程序,我需要一些帮助 SQL 将这两个 table

联系起来

照片

Column
id
idUser
photoType_Id
photoGuid

照片类型

Column
id
name

PhotoType 是 table,其中包含有关照片是个人资料照片、横幅等的信息...

我不希望数据库允许每个用户有多个 photoTypeID=1

使用带有 where 子句的 UNIQUE 语句是否可行? 如果是这样,那如何实现?

我正在使用 SQL 服务器 19

非常感谢!

您可以使用过滤器添加唯一索引:

CREATE UNIQUE INDEX OnePhotoTypeID1PerUser
  ON dbo.Photos(idUser)
  WHERE photoType_Id = 1;