如果我有一个包含两个列( TeamA和TeamB )的联接表,那么如何确保每一对都是唯一的呢?
很明显,我可以在这些列上加一个唯一的综合索引,但这只会确保A,B的唯一性,而不是B,A,对吗?
TeamA | TeamB
-------------
red | blue
pink | blue
blue | red如您所见,“红色与蓝色”已经被指定为第一条记录,然后再次指定为“最后一条”。这应该是非法的,因为他们将已经面对对方。
编辑:也有办法处理SELECT案例吗?或者是最新消息?删除?等等。
同时,我们也提出了主场或客场的概念,这在这里可能很重要。这个最初的概念是在我思考如何在DB端构建一个括号系统的时候想到的。
发布于 2009-05-10 03:55:27
定义一个约束,例如,A列中的值必须小于B列中的值:因此允许插入{ blue,red},但不插入{ red,blue},因为蓝色小于红色。
https://stackoverflow.com/questions/844646
复制相似问题