複合主鍵外鍵怎麼設置?

General 更新 2024-12-26

在SQL中,如何在複合主鍵上創立外鍵?

--不能一列引用兩列,必髯數列對應

use tempdb

go

create table s

(

sid varchar(20),

sname varchar(20),

ssex varchar(2) check(ssex='男' or ssex='女') default '男',

sage int check(sage between 0 and 100),

sclass varchar(20),

constraint event_key primary key (sid,sclass)----創建複合主鍵

)

create table t

(

teacher var埂har(20) primary key,

sid varchar(20) not null,

sclass varchar(20) not null,

num int,

foreign key(sid,sclass) references s(sid,sclass)

)

關於 複合主鍵的外鍵設置問題

constraint fk_ tp foriegn key (topic_title,topic-publish) references topic(title,publishdate)

Oracle中複合主鍵怎麼寫?有沒有複合外鍵?

創建成績表T_GRADE,並把學號S_ID+課程編號C_ID設為複合主鍵。Create Table T_GRADE( --學生成績表

S_ID Number(8), --學生編號

C_ID number(4), --課程編碼

G_PS varchar2(6), --平時成績

G_KS varchar2(6), --考試成績

Constraint Grade_pk Primary Key (S_ID,C_ID)); --表級複合主鍵

可以設置複合外鍵。設置方法與複合主鍵一樣,Primary Key(...) 換成

FOREIGN KEY(...) REFERENCES 主表(...)

或 ALTER TABLE 表 ADD CONSTRAINT 外鍵名

FOREIGN KEY(複合外鍵) REFERENCES 主表(主鍵|唯一鍵);

MySQL如何創建主鍵,外鍵和複合主鍵

courseidint,

scoreint,primarykey(studentno) );

②修改時:ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名);

前提是原先沒有設置主鍵。

2.外鍵語法①創建時:createtablesc (studentnoint,

courseidint,

scoreint,foreignkey(courseid) );②修改時:ALTER TABLE news_info[子表名] ADD CONSTRAINT FK_news_info_news_type[約束名] FOREIGN KEY (info_id)[子表列] REFERENCES news_type[主表名] (id)[主表列] ;

3.使用組合主鍵

如果一列不能唯一區分一個表裡的記錄時,可以考慮多個列組合起來達到區分表記錄的唯一性,形式①創建時:createtablesc (studentnoint,

courseidint,

scoreint,primarykey(studentno,courseid) );

②修改時:alter table tb_name add primary key (字段1,字段2,字段3);

怎麼給聯合主鍵設置外鍵啊

GUI界面,先右鍵表B,表C,選擇設計,然後選擇表B字段b1設置主鍵,表C字段c1設置主鍵,然後保存關閉。右鍵表A,選擇設計,按住shift然後選擇a1,a2設置為聯合主鍵,然後右鍵a1列,選擇關係,添加後右面點擊表和列規範,彈出界面,左邊選擇主鍵表主鍵列,右面選擇本表字段a1即可。a2同樣設置。

兩個關聯的表,一個有一個主鍵,另一個有聯合主鍵,兩個表中的主鍵之間有關聯的屬性,外鍵該如何設置呢?

根據樓主的描述 可以知道 兩個表 有3個字段都是主鍵 想建立個外鍵約束

這個是不允許的 已經是主鍵了 就沒有辦法在設置外鍵了

樓主一定要這樣做的話 就多添加一個列 和你要約束的列 也就是主鍵 值整的一樣 然後在這個列上面做外鍵 那就能達到你要的效果

有什麼困難可以隨時找我 希望採納

聯合主鍵和外鍵能不能同時存在,能的話怎麼做

主鍵作為外鍵,必須是主鍵,你的主鍵是複合主鍵,那麼你作為外鍵的時候也必須是複合主鍵作為外鍵

mysql如何對聯合主鍵建立外鍵

create table parent(c1 number,c2 number,

primary key(c1,c2));

create table child (c1 number primary key,

c2 number,c3 number,

foreign key(c2,c3) references parent(c1,c2));

聯合主鍵中,其中一個鍵設為另一個表的外鍵

我覺得你的表設計的有問題,為什麼class表中,主鍵為(cno,class_no)?這兩個屬性都是什麼含義?是否需要同時存在,應該都是班級號吧,我覺得只要class_no就可以了,這樣就正常設置外鍵就可以了。

如果你設置聯合主鍵,那麼外鍵必須同時引用兩個主鍵屬性,否則只能用check約束來實現參照關係。

Hibernate複合主鍵作外鍵該怎麼樣配置

drop database choose ; create database choose ; use choose; --student create table student( sId char(10) not null primary key, sName char(20) not null, sPwd char(20) not null );

create unique index PK_student on student(sId); --course create table course( coId char(10) not null primary key, coName char(20) not null, credit float(53) not null );

create unique index PK_course on course(coId); --chooseCourse create table chooseCourse( coId char(10) not null, sId char(10) not null, grade float(53), primary key(coId,sId), foreign key (coId) references course(coId), foreign key (sId) references student(sId) );

相關問題答案
蘋果按鍵返回怎麼設置?
回車鍵發送怎麼設置?
虹龍鍵盤燈怎麼設置?
遊戲鍵盤宏怎麼設置?
鬥魚一鍵加群怎麼設置?
電腦鍵盤光怎麼設置?
按鍵手機怎麼設置時間?
鼠標右鍵屬性怎麼設置?
電腦聲音外放怎麼設置?
電腦主頁格式怎麼設置?