没有主键的连接表

时间:2013-06-18 18:10:35

标签: mysql sql innodb junction-table

假设我有一个联结表来解决两个表之间的多对多关系。我的联结表也有自己的“方法”列来描述关系。 Junction Table Example

通常,我会创建[a],[b]和[method]的复合主键(该方法需要成为使行唯一的一部分),但我的问题是[method]字段可以是空值。因此我无法将其添加到主键。

所以我所做的就是创建一个独特的索引:

ALTER TABLE A_B ADD UNIQUE INDEX `Unique` (`a`, `b`, `method`);

该表没有主键。这是一件好事还是我需要采取不同的做法?

1 个答案:

答案 0 :(得分:1)

使用主键并不是确保记录唯一性的唯一方法。您可以实施一个独特的约束来完成所需的工作。

http://www.w3schools.com/sql/sql_unique.asp