【发布时间】:2014-03-07 05:32:00
【问题描述】:
我正在尝试创建连接用户的关系表。
我有以下结构:
1. id
2. fromuserid
3. touserid
4. state (none, send, accepted, rejected)
我想限制任何从/到的对都应该是唯一的。我的意思是不应该有像
这样的条目1, **123,124**, send
2, **124,123**, send
首先,我创建了从 != 到的约束。效果很好:
CONSTRAINT [CK__FromUserId_ToUserId] CHECK (FromUserId != ToUserId),
然后我尝试创建唯一索引、约束等,没有任何帮助。
CONSTRAINT [CK_FromUserId_ToUserId_Combination] UNIQUE (FromUserId, ToUserId)
或
CREATE UNIQUE NONCLUSTERED INDEX [IX_FromUserId_ToUserId_Combination]
ON USERLINKS (FromUserId, ToUserId)
两者都可以很好地拒绝以下记录:
1, 123,124,send
2, 123,124,send
但没有一个可以拒绝以下记录:
1, 123,124,send
2, 124,123,send
请指教
【问题讨论】:
标签: sql sql-server indexing unique unique-constraint