与mysql中的复合主键的外键关系

时间:2017-10-26 10:38:14

标签: mysql sql

当引用的表具有复合主键时,这是在两个表之间创建关系的最佳方法吗?

table1{
   id,
   name
}

table2{
   id1,
   id2,
   name
}PrimaryKey(id1, id2)

2 个答案:

答案 0 :(得分:2)

唯一的方法是使用两个键:

alter table t add constraint fk_t_id1_id2
    foreign key (id1, id2) references table2(id1, id2);

但是,我建议您在table2添加自动递增列,以便这样的关系可以使用单个键。

答案 1 :(得分:0)

一种方法是

alter table t add constraint fk_t_id1_id2
foreign key (id1, id2) references table2(id1, id2);

正如戈登所说,最好的选择是创建一个自动增量ID并将其作为主键。