我想在MySQL
中具有唯一的列配对,但是可以以任何顺序...
所以如果我有三列
Person1 Person2 Person3
它们都是一个人的
FOREIGN
键,我只希望它们在表中只允许一次...该行:
1 2 3
是相同的
3 2 1
是相同的
2 3 1
等等等等...所以我认为做
UNIQUE(Person1, Person2, Person3)
并不能完成此任务。 最佳答案
我的解决方案(考虑到此模式)将使订单可预测。最简单的方法是以降序存储它们,以便第一行始终包含最小值,依此类推。这使查询变得更容易,并且您将无法添加具有相同成员的两行。
由于您的问题很笼统,所以我的回答很模糊。如果您提供了要完成的工作的示例,则可能会有更好的方法。以我的经验,当您发现自己的列代表相同类型的关系时,通常最好进行归一化。例如,从friend1,friend2,... friendN到每个用户的好友表。