一張表能夠有多少個主鍵

轉自:http://blog.csdn.net/for12/article/details/49300843sql

今天在共工做,作老項目維護的時候無心中發現一張表竟然有三個主鍵。嚇死寶寶了,而後嘗試着建表建主鍵,可是都不能成功。疑問數據庫

難道是我寫的有問題,最後經過查資料總終於解決了。.net

一、數據庫的每張表只能有一個主鍵,不可能有多個主鍵。blog

二、所謂的一張表多個主鍵,咱們稱之爲聯合主鍵。sql語句

     注:聯合主鍵:就是用多個字段一塊兒做爲一張表的主鍵。im

三、主鍵的主鍵的做用是保證數據的惟一性和完整性,同時經過主鍵檢索表可以增長檢索速度。數據

 

下面聊聊怎麼建立聯合主鍵:項目

 

一、GUI中同時選中多列,點擊設置爲主鍵。img

二、sql語句將多列設置爲主鍵:工作

 

 一種是在建表時就寫出,語句以下:

Create Table 表名 (字段名1 Int Not Null,
                   字段名2 nvarchar(13) Not Null Primary Key (字段名1, 字段名2),
                    字段名3…………
                    字段名N………… )

另外一種是在建表後更改,語句以下:

ALTER TABLE 表名 WITH NOCHECK ADD 
CONSTRAINT [PK_表名] PRIMARY KEY  NONCLUSTERED 
(
  [字段名1],
  [字段名2]
)
 
經過以上兩種方式就解決了聯合主鍵的問題。
相關文章
相關標籤/搜索