2011-05-27 36 views
1

我对一个表使用MYSQL的UNIQUE KEY。但是,我有一个有“user1,user2”的表格。我创建了一个唯一的密钥,但问题是我想的唯一键,以行为是否 “user1的== USER1 & & user2的用户2 ==” 或 “用户1 == user2的& & user2的== USER1”UNIQUE KEY以任何顺序

user1  user2 
---------------- 
user1  user2 

OR

user1  user2 
---------------- 
user2  user1 

如何在mySQL中实现UNIQUE KEY?

谢谢!

+1

看起来你似乎过于简单直接的问题。你为什么想这样做? – 2011-05-27 21:03:31

+2

等等,**什么**? – 2011-05-27 21:04:19

+0

不要以为你可以用标准的SQL功能来做到这一点。就SQL而言,'(a,b)'与'(b,a)'完全不同,并且不会被视为重复。您可以使用'before before'触发器来更新/插入以捕获此类双向键。 – 2011-05-27 21:05:29

回答

0

你只能做,如果你还执行另一条规则:

user1 < user2 

然后,你知道,UNIQUE约束将满足您的要求。 (或者相反,user1 > user2;只要你自己一致,哪个并不重要)。

否则,正如在注释中指出的那样,置换'(b,a)'不同于'( a,b)',唯一的约束不会强制你想要的唯一性。