Sql server SQL Server:确保两列上的值唯一的约束

Sql server SQL Server:确保两列上的值唯一的约束,sql-server,constraints,Sql Server,Constraints,我有一个有两列的表,Username&Email Username | Email ------------------------- a@a.com | a@a.com b@b.com | c@c.com 我希望用户名在除当前记录之外的两列中都是唯一的 对于电子邮件列也是如此 例如,如果我试图在表中插入以下行,则不允许这样做 Username | Email e@e.com | b@b.com c@c.com |

我有一个有两列的表,
Username
&
Email

Username    |    Email
-------------------------
a@a.com     |     a@a.com
b@b.com     |     c@c.com
我希望
用户名
在除当前记录之外的两列中都是唯一的

对于
电子邮件
列也是如此

例如,如果我试图在表中插入以下行,则不允许这样做

Username    |    Email
e@e.com     |     b@b.com
c@c.com     |     f@f.com
这可以通过SQL Server约束实现吗


致以最诚挚的问候

不太清楚您想要什么。。。为什么插入这两个新行失败?我在这里没有看到任何您可以检查的“重复”,规则是a)用户名不应与任何现有用户名或电子邮件匹配,b)电子邮件不应与任何现有用户名或电子邮件匹配,以及c)有一个例外,即在一行中,用户名和电子邮件可能相等?如果是这样的话,不,你不能用约束来实现这个。我现在是通过触发器来实现的,似乎只有约束是不行的