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