【问题标题】:How should I go about making sure the value pairs in this table are unique?我应该如何确保此表中的值对是唯一的?
【发布时间】:2011-01-07 00:54:54
【问题描述】:

我正在使用 Visual Web Developer 和 Microsoft SQL 服务器。我有一个标签表“Entry_Tag”,如下所示:

entry_id tag_id

我想让 entry_id 和 tag_id 配对唯一。特定标签只能应用于表中的条目一次。我将这两列设为主键。它们也是引用各自表中 id 的外键。当我将表格拖入对象关系设计器时,它只显示“Entry_Tag”和“Entry”之间的关系线,或者当我再次尝试“Entry_tag”和“Tag”之间的关系线时。

“Entry_tag”表应该与“Tag”和“Entry”都有关系。

我该怎么做?

【问题讨论】:

    标签: asp.net asp.net-mvc database linq-to-sql database-design


    【解决方案1】:

    为 entry_id 和 tag_id 创建一个 UNIQUE INDEX。

    CREATE UNIQUE INDEX index_name ON table (entry_id, tag_id)
    

    【讨论】:

    • 由于这两个字段都在他的主键中,这将是多余的。
    【解决方案2】:

    通常,您可以在包含两列的表上添加唯一约束。在这种情况下,包括主键中的两个列应该已经这样做了。如果您为每个字段设置了与其他表的关系,那么我相信这些关系应该显示在查询设计器中......鉴于您提供的信息,我认为没有任何原因 - 也许您需要发布更多信息。

    【讨论】:

    • 谢谢。我在覆盖我设置的关系而不是单击“添加”时犯了错误..
    猜你喜欢
    • 1970-01-01
    • 2020-04-17
    • 1970-01-01
    • 1970-01-01
    • 2016-10-21
    • 1970-01-01
    • 2014-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多