【发布时间】:2017-01-09 23:28:10
【问题描述】:
如何从表的元组中创建主键?
例子-
table a: [id|name]
table b: [id|name]
table axb:[a_id|b_id]
现在我们要向 axb 添加一个主键,以便元组 {alpha, beta} 是唯一的。换句话说,该表不能包含行 (alpha, beta) 和 (beta, alpha)。这将扩展到 ntuples,但我要求夫妻开始保持简单。
我正在使用 MySql 14.14/5.5.50 - 但我希望这没关系。
请注意,复合键并不能解决此问题,因为 a_id/b_id 上的复合键仍将允许具有逆元组顺序的行作为新行
【问题讨论】:
-
我不认为它是重复的;我认为 OP 希望避免将
(3,1)之类的条目插入到axb中,如果条目(1,3)已经存在。 -
完全是@StephanLechner
标签: sql primary-key unique-constraint