sql資料庫兩個外來鍵做聯合主鍵

時間 2021-10-14 22:24:14

1樓:匿名使用者

聯合主鍵是有著特殊的需求的。

建表的時候建立

create table 表名 (欄位名1 int not null,

欄位名2 nvarchar(13) not null primary key (欄位名1, 欄位名2),

欄位名3…………

欄位名n………… )

或者建表之後修改表結構

alter table 表名 with nocheck addconstraint [pk_表名] primary key nonclustered

([欄位名1],

[欄位名2])

2樓:學有止境

lz的說法有誤

主鍵不能建立在外來鍵約束上,但是它可以建立在外來鍵約束對應的列上。

所以你要做的就是對兩個外來鍵約束對應的列加複合主鍵alter table 表名 with nocheck addconstraint [pk_表名] primary key nonclustered

([欄位名1],

[欄位名2]

) -----------------------------------

zjwssg解元同學

外來鍵約束對應的列也可以是唯一鍵哎

3樓:匿名使用者

樓上的,你說“主鍵不能建立在外來鍵約束上,但是它可以建立在外來鍵約束對應的列上。

”這不僅僅是可以而已吧,應該是外來鍵約束對應的列它必然得是主鍵吧----

學有止境 - 初入江湖 四級

受教了,哈哈,謝謝解答。

4樓:匿名使用者

create table student1(s1id int not null identity,sname varchar(100),

primary key aid

)create table student2(s2id int not null identity,sname varchar(100),

primary key aid

)create table course

(cid int not null identity,s1id int not null,

s2id int not null,

cname varchar(100),

primary key (cid),

foreign key s1id references student1(s1id),

foreign key s2id references student2(s2id)

)create table ccc

(s1id int not null,

s2id int not null,

primary key(s1id,s2id))就這樣 ,但是感覺沒什麼意義

資料庫表中的主鍵和外來鍵如何關聯

扈琇保瀚 主鍵 編輯本段 概念 主關鍵字 主鍵,primarykey 是被挑選出來,作表的行的惟一標識的候選關鍵字。一個表只有一個主關鍵字。主關鍵字又可以稱為主鍵。主鍵可以由一個欄位,也可以由多個欄位組成,分別成為單欄位主鍵或多欄位主鍵。編輯本段 作用 1 保證實體的完整性 2 加快資料庫的操作速度...

設定資料庫外來鍵時如何區分那個為主鍵表那個為外來鍵表

a表必須有記錄,b表才能有,這個時候a表是主鍵表,b表外來鍵表。a表裡面的記錄可以隨便錄入,但一般必須唯一,是主鍵 b表裡面錄入的東西就不是亂錄了,必須a表裡面有的記錄,才能錄入到b表中。b表裡面出現的任何一條記錄都必須在a表中找到與之對應的記錄,當然它可以重複出現,如果是1 n的話 例如 學生表,...

一臺電腦可以同時裝兩個帶有sql資料庫的軟體嗎

但前提是 不同版本的軟體,相同版本是不行的。sql是指結構化查詢語言,structured query language sql語言的主要功能就是同各種資料庫建立聯絡,進行溝通。按照ansi 美國國家標準協會 的規定,sql被作為關係型資料庫管理系統的標準語言。擴充套件資料 sql資料庫基本操作 1...