SQL Server 根据 FK 的类别中的唯一约束
下面的代码非常适合创建 Unique Constraints
:
ALTER TABLE <tablename> ADD CONSTRAINT
<constraintname> UNIQUE NONCLUSTERED
(
<columnname>
)
我有一个名为 Products
的表,其中包含另一个名为 Categories
的表的 FK。想象一下下面的列表是类别:
软件
电影
音乐
我在这里需要的是在 Products
表中的 ProductName
列的类别内有一个唯一的约束。例如,Products
表中的不同类别中可以有两个相同的 ProductName
列,但不能在同一类别中。
我使用的是SQL Server 2008 R2
。有什么想法吗?
The below code works great for creating Unique Constraints
:
ALTER TABLE <tablename> ADD CONSTRAINT
<constraintname> UNIQUE NONCLUSTERED
(
<columnname>
)
I have a table named Products
which has FK for another table called Categories
. Imagine that the below list is Categories :
Software
Movie
Music
What I need here is to have a unique constraint inside a category for my ProductName
column inside Products
table. For example, it is ok to have two same ProductName
columns in a different category in Products
table but not in the same category.
I am on SQL Server 2008 R2
. Any thoughts?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以将多个列添加到唯一约束或唯一索引定义中。您需要一个包含两列的复合唯一约束
ProductName, CategoryId
示例语法
You can add multiple columns into a unique constraint or unique index definition. You need a composite unique constraint with two columns
ProductName, CategoryId
Example Syntax