【问题标题】:Create persistent key using two unique id's as the source使用两个唯一 ID 作为源创建持久密钥
【发布时间】:2017-05-08 03:57:21
【问题描述】:

我正在从使用 uniqueidentifier 作为其主键字段类型的系统中提取数据。

在我从中提取数据的系统上,我已被授予访问已派生的单个表的权限。该表是通过将一个表连接到一对多表来制作的,导致我需要使用其中两个 uniqueidentifier 列来获得唯一性。

有没有办法让我使用这两列创建一个简单的持久键?

我目前唯一的想法是在我的表上创建一个标识列,并将任何未来的提取(每天)插入到我的表中。

还有比这更好的方法吗?

【问题讨论】:

    标签: sql-server tsql key primary-key uniqueidentifier


    【解决方案1】:

    您可以添加所谓的“复合密钥”。

    ALTER TABLE dbo.yourtablename 
    ADD CONSTRAINT uq_yourtablename UNIQUE(column1,column2);
    

    【讨论】:

    • 这会在我的表中添加一个新列吗?
    • 不,它只会向表中添加一个约束,以确认每一行都是唯一的 - 基于唯一标识符列中“GUID”的组合。在运行该语句之前,将“column1”替换为第一个唯一标识符列的名称,将“column2”替换为第二个列的名称。如果表已经有重复项,那么在对表进行重复数据删除之前,不会在表上设置约束。设置约束后,该表将不允许加载重复项。
    猜你喜欢
    • 2017-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-11
    • 1970-01-01
    • 2017-07-26
    • 2016-12-07
    相关资源
    最近更新 更多