联合外键问题mysql中

mysql中,如果设置联合主键(两列联合做主键),在另一张表想引入此表的联合主键作为外键,代码应该怎么写? foreign key ()references括号里似乎不能写两列的列名,会报错

到底想怎么设计表要想清楚。如果只是想将联合主键作为外键,这样写就行。

首先创建表stu_tb,stu_name,stu_gender作为联合主键。

create table stu_tb(
    stu_name varchar(10),
    stu_gender varchar(2),
    city varchar(10),
    primary key(stu_name,stu_gender)
);

再创建表per_tb。

create table per_tb(
    per_name varchar(10),
    per_gender varchar(2),
    subject1 decimal(3,1),
    foreign key (per_name,per_gender) references stu_tb(stu_name,stu_gender)
);

 

您好,我是问答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632