0

我想知道是否在关系表上我将下面的两个值设置为 PRIMARY KEY,如果这会自动使表知道所有条目都应该是唯一的......

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)
)
4

3 回答 3

2

你不需要 UNIQUE 这里。PRIMARY KEY 将确保没有重复的 (userID,securityID) 对。

于 2013-08-30T05:00:05.023 回答
1

APRIMARY KEY必须是唯一的,因此您只需声明为主键。根据定义,基础索引是唯一的。

创建唯一索引

于 2013-08-30T04:56:57.223 回答
1

不,您不需要指定UNIQUE除了PRIMARY KEY. 根据定义,主键必须是唯一的。

于 2013-08-30T04:57:39.390 回答