SQL Server 根据 FK 的类别中的唯一约束

发布于 2024-12-09 02:20:33 字数 606 浏览 1 评论 0原文

下面的代码非常适合创建 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

菊凝晚露 2024-12-16 02:20:33

您可以将多个列添加到唯一约束或唯一索引定义中。您需要一个包含两列的复合唯一约束 ProductName, CategoryId

示例语法

ALTER TABLE Products ADD CONSTRAINT some_name 
      UNIQUE NONCLUSTERED(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

ALTER TABLE Products ADD CONSTRAINT some_name 
      UNIQUE NONCLUSTERED(ProductName, CategoryId)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文