2
據我所知,有創建複合PK的2種方式,但不知道它們的區別或者是很好的一個:正確的方法來創建複合PK
CREATE TABLE AppUsers
(
Id int NOT NULL,
Username varchar(20) NOT NULL,
LastName varchar(100),
FirstName varchar(100),
PRIMARY KEY (Id, Username)
)
VS
CREATE TABLE AppUsers
(
Id int NOT NULL,
Username varchar(20) NOT NULL,
LastName varchar(100),
FirstName varchar(100),
CONSTRAINT pk_AppUsers PRIMARY KEY (Id, Username)
)
絕對正確,只是在發佈問題後才意識到。除此之外,我還發現使用CONSTRAINT關鍵字將使您的代碼在SQL服務器和Oracle上運行(以防有人對通過不同DBMS使用相同模式感興趣) – Kitinz 2013-05-08 15:41:48
我認爲oracle接受主鍵也沒有約束字 – Sebas 2013-05-08 15:50:29
CONSTRAINT語法允許您控制約束的名稱。當錯誤消息包含違反約束的名稱時,這會很有用。如果您瀏覽元數據(很少完成),它也可能很有用。 – 2013-05-08 20:03:57