資料庫中一張表可以有多少個主鍵?
阿新 • • 發佈:2019-02-01
今天在工作,做老專案維護的時候無意中發現一張表居然有三個主鍵。嚇死寶寶了,然後嘗試著建表建主鍵,但是都不能成功。
難道是我寫的有問題,最後通過查資料總終於解決了。
1、資料庫的每張表只能有一個主鍵,不可能有多個主鍵。
2、所謂的一張表多個主鍵,我們稱之為聯合主鍵。
注:聯合主鍵:就是用多個欄位一起作為一張表的主鍵。
3、主鍵的主鍵的作用是保證資料的唯一性和完整性,同時通過主鍵檢索表能夠增加檢索速度。
下面聊聊怎麼建立聯合主鍵:
1、GUI中同時選中多列,點選設定為主鍵。
2、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] )
通過以上兩種方式就解決了聯合主鍵的問題。
--------------------- 本文來自 牟鵬 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/for12/article/details/49300843?utm_source=copy