sql设置多个主键后,怎么实现建立关系

现在有两个表table1,table2,两个表都包含有a、b、c三个字段,现在把表table1的a、b、c设为主键,那么两表怎么建立关系,
alter table table2 add constraint fk_table1_table2 foreign key (a) references table1 (a)
像这样写会报错,怎么解

设置多个主键,就需要把多个主键都一起做外键关联

foreign key (a,b,c) references table1 (a,b,c)

要不就建个关系表存吧

 foreign  key(a,b,c) references table1(a,b,c));
    alter table table2 add constraint fk_table1_table2 foreign key (a,b,c) references table1 (a,b,c)

foreign key (a,b,c) references table1 (a,b,c),请采纳oyljerry用户的建议

a,b,c字段两张表都有,是不是因为这三个字段都是某个事物的一个属性,应该可以把这三个字段提取出来建个实体加个主键,这两张表引用这个主键。或者这两张表中,一张表本身就引用了另一张表的这三个字段,索性不要用复合主键,另外添个主键,其它表引用这个实体的时候,引用这个主键
select t1.* , t2.* from table1 t1 inner join table2 t2 on t1.a = t2.a and t1.b=t2.b and t1.c=t2.c

a,b,c字段两张表都有,是不是因为这三个字段都是某个事物的一个属性,应该可以把这三个字段提取出来建个实体加个主键,这两张表引用这个主键。或者这两张表中,一张表本身就引用了另一张表的这三个字段,索性不要用复合主键,另外添个主键,其它表引用这个实体的时候,引用这个主键
select t1.* , t2.* from table1 t1 inner join table2 t2 on t1.a = t2.a and t1.b=t2.b and t1.c=t2.c