【发布时间】:2009-04-02 17:34:33
【问题描述】:
我之前问过这个问题,但答案不是我想要的。
我没有使用代码就在 Asp.net 中创建了一个表。它包含两列。
YourUserId 和 FriendUserId
这是多对多的关系。
这是我想要的:
可以有多条记录以你的名字作为 UserId,也可以有多条记录以 FriendUserId 相同...但不能有多条记录两者都相同。例如:
戴夫:格雷格
戴夫:克里斯
格雷格:克里斯
克里斯:格雷格
不错
戴夫:格雷格
戴夫:格雷格
不好。
我右键单击表格并选择索引/键。然后,我将两列都放在列部分并选择使其唯一。我认为这会使它们作为一个整体独一无二,但单独不是独一无二的。
如果您转到数据集,它会在两列旁边显示键,并表示检查两列时存在约束。
有没有一种方法可以确保您没有将记录的重复副本插入到表中,而各个列都不是唯一的?
我尝试使用我的 sql insert 语句来控制它,但没有奏效。这是我尝试过的。
在不存在的情况下插入 [FriendRequests] ([UserId], [FriendUserId]) 值 ('"+UserId+"', '"+PossibleFriend+"') (SELECT [UserId], [FriendUserId] FROM [FriendRequests])
由于某种原因,这不起作用。 感谢您的帮助!
【问题讨论】:
-
我不清楚问题是什么。听起来您创建了一个复合键。你有错误吗?你能插入重复的行吗?
-
如果你已经问过这个问题,那么试着在人们问到的时候澄清你原来的问题,而不是创建一个新的问题来弄乱董事会。 stackoverflow.com/questions/707767/sql-unique-record-not-column