2011-03-03 61 views
2

當我執行「sp_help tableName」時,我看到一個約束,它表示'主鍵(聚集)',並且它在頭部'constraint_keys'下列出了三列。多個主鍵

這是否意味着這些列值中的任何一個將唯一地標識該行,或者所有三列的值一起唯一標識該行?

+0

這三個都是主鍵,聽起來像是你有複合主鍵 – 2011-03-03 19:56:43

回答

6

這意味着所有三列組合在一起構成一個獨特的行。只要組合是唯一的,任何單個列都可以有重複。

4

所有三者一起是主要關鍵。

這與概念上的索引與覆蓋多個字段的索引類似。

2

這意味着所有三個將唯一標識任何特定條目。

例如,讓我們說,你有一個 「訂單」 表,具有以下字段:

訂單: 的customerID PK 日期時間PK 的OrderTotal

由於可能有多個Orders表中的條目由同一個customerID組成,因此不能單獨使用它來唯一標識單個訂單。也可能有多個訂單發生在同一時間(來自不同的客戶),所以DateTime字段不能單獨使用。

但是,結合這兩個字段將爲您提供唯一識別單個條目的方法。