我有两个表:
First ------ id name Second ------ id name
和连接前两个表的另一个表:
Third ------ first_id second_id
第三个表 仅 用于解决M:N问题。它应该有自己的ID吗?
如果表仅包含两个外键,则没有理由拥有附加键。您将不会在任何查询中使用它。
使用连接表联接表时,您一次是针对一个外键进行联接,而不是一次针对两个外键进行联接,因此连接表中没有其他键可使用。例子:
select t1.name, t2.name from First t1 inner join Third t3 on t3.first_id = t1.id -- one foreign key inner join Second t2 on t2.id = t3.second_id -- the other foreign key
只需将两个外键组合成一个主键即可。
PRIMARY KEY (first_id, second_id)