2013-08-30 59 views
0

我想知道,如果在關係表我設置以下兩個值,就像自動使表知道,所有參賽作品必須是唯一的一個PRIMARY KEY ....在SQL中,create table中的主鍵是否實施唯一性?

CREATE TABLE UserHasSecurity 
(
    userID int REFERENCES Users(userID) NOT NULL, 
    securityID int REFERENCES Security(securityID) NOT NULL, 
    PRIMARY KEY(userID,securityID) 
) 

還是需要更明確的像這樣...

CREATE TABLE UserHasSecurity 
(
    userID int REFERENCES Users(userID) NOT NULL, 
    securityID int REFERENCES Security(securityID) NOT NULL, 
    PRIMARY KEY(userID,securityID), 
    UNIQUE(userID,securityID) 
) 
+2

當您使用PrimaryKey時,您不需要Unique關鍵字。唯一的keyWord是用於其他候選鍵的:http://en.wikipedia.org/wiki/Candidate_key – dcaswell

+0

主鍵將確保唯一性並且不允許空值 – zedfoxus

回答

2

這裏不需要使用UNIQUE。 PRIMARY KEY將確保沒有重複的(userID,securityID)對。

1

A PRIMARY KEY必須是唯一的,所以你只需要聲明爲主鍵。根據定義,基礎指數是唯一的。

Creating Unique Indexes

1

不,你不需要除了指定UNIQUEPRIMARY KEY。根據定義,主鍵必須是唯一的。

相關問題