mysql中怎么在一个表中创建多个外键,也就是说一个表中有两个字段是参照另外两个表的主键,这个怎么建啊!

有四个表分别是teacher、student、course、erollment,erollment表中有三个属性是参照其他三个表的,那么怎么建立外键?如下四表:creat... 有四个表分别是teacher、student、course、erollment,erollment表中有三个属性是参照其他三个表的,那么怎么建立外键?如下四表:
create table teacher(
Tno int not null auto_increment,
Tname varchar(8) not null,
Tsex enum('男','女'),
Tage int not null,
Tdept varchar(10) not null,
primary key(Tno)
);
create table student(
Sno int not null auto_increment,
Sname varchar(8) not null,
Ssex enum('男','女'),
Sage int not null,
Sdept varchar(8) not null,
primary key(Sno)
);
create table courses(
Cno int auto_increment primary key,
Cname varchar(8) not null,
Credits double not null,
Tno varchar(6) not null
);
create table erollment(
Sno varchar(8) not null,
Cno varchar(3) not null,
Tno varchar(6) not null,
Grade double not null,
primary key(Sno,Cno,Tno)
);
展开
 我来答
群星岁8545
2018-04-12 · TA获得超过3904个赞
知道小有建树答主
回答量:91
采纳率:6%
帮助的人:3.7万
展开全部
  1. 打开我的navicat,然后找到我的teacher表,选中它,然后点击菜单栏上的‘design table'

  2. 在弹出的对话框中找到“Foreign Keys”,然后单机。

  3. 然后会出现一个设置外键的界面,一共有七列。简单介绍一下这几列的意思。‘name’:可以不填,你一会保存成功系统会自动生成。FieldName’:就是你要把哪个键设置为外键。这里选择‘dept’,‘Reference DadaBase’:外键关联的数据库。‘Reference Table‘ :关联的表 这里是dept表‘Forgin filed Names’:关联的的字段,这里是code‘ondelete’:就是删除的时候选择的动作。这里我的选择是setNull,意思就是当关联的表删除以后,teacher》dept字段会设置为null.

  4. 设置完成后点击‘save’保存退出,也可以点击‘add Foreign Key’再添加一个外键。

  1. 打开我的navicat,然后找到我的teacher表,选中它,然后点击菜单栏上的‘design table’。如下图:

  2. 在弹出的对话框中找到“Foreign Keys”,然后单机。如下图:

  3. 然后会出现一个设置外键的界面,一共有七列。简单介绍一下这几列的意思。‘name’:可以不填,你一会保存成功系统会自动生成。FieldName’:就是你要把哪个键设置为外键。这里选择‘dept’,‘Reference DadaBase’:外键关联的数据库。‘Reference Table‘ :关联的表 这里是dept表‘Forgin filed Names’:关联的的字段,这里是code‘ondelete’:就是删除的时候选择的动作。这里我的选择是setNull,意思就是当关联的表删除以后,teacher》dept字段会设置为null。如图

  4. 设置完成后点击‘save’保存退出,也可以点击‘add Foreign Key’再添加一个外键。k如图:

x403879785
2011-12-04 · TA获得超过3839个赞
知道大有可为答主
回答量:1299
采纳率:100%
帮助的人:1171万
展开全部
create table erollment(
Sno varchar(8) not null,
Cno varchar(3) not null,
Tno varchar(6) not null,
Grade double not null,
primary key(Sno,Cno,Tno),foreign key (sno) references student(sno),
foreign key (cno) references courses(cno),foreign key (tno) references teacher(tno)
);
更多追问追答
追问
可是我的表已经建过了,现在怎么添加外键啊?
追答
ALTER TABLE erollment
add constraint fk_s foreign key (sno) references student(sno),
constraint fk_c foreign key (cno) references courses(cno),
constraint fk_t foreign key (tno) references teacher(tno)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式