SQL 字段唯一的约束方法 50分

sqlserver2000下,我有一个名字是MissionAnswer的表,已经建立且使用中,里面有两个字段MissionID、StudentID这两字段成对出现时应该是... sql server2000下,我有一个名字是MissionAnswer的表,已经建立且使用中,里面有两个字段MissionID、StudentID

这两字段成对出现时应该是唯一的,比如学号StudentID是71的学生,任务编号MissionID为1的答案只能是一个,我本来是用程序控制的,第一次是insert,下一次是update.
但是实际使用过程中,还是发现有个别学生的答案重复提交了,可能是网络延迟或是刷新等问题造成的,同一学生的同一任务答案多次出现了。
现在我想能不能在SQL端加上一个约束条件,让MissionID和StudentID不出现重复的问题,怎么设置?
主键不行的,我举例说明一下啊
ID MissionID StudentID
1 1 71
2 1 88
3 2 71
4 2 99
5 1 71
注意,数据中ID为5的这行数据不能出现,它与第一条重复了
展开
 我来答
abill425
2009-10-23 · TA获得超过1726个赞
知道小有建树答主
回答量:663
采纳率:100%
帮助的人:1082万
展开全部
如果这个表没有主键,你可以用这两个字段做为主键,如果已有其他主键,给表的这两个字段加上一个唯一索引就可以了。可以用以下语句添加:

CREATE UNIQUE INDEX [MissionAnswer_idx1] ON [MissionAnswer] ([MissionID],[StudentID])
zhukaiheihei
2009-10-23 · TA获得超过607个赞
知道小有建树答主
回答量:3497
采纳率:0%
帮助的人:1125万
展开全部
把这两个字段建成主键
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
JimiXu
2009-10-23 · TA获得超过410个赞
知道小有建树答主
回答量:1010
采纳率:0%
帮助的人:0
展开全部
方法1:如1L所说,将这两个字段联立设为主键
方法2:每次Insert之前,Select一下,是不是已经有数据项存在,如果有,就不操作,如果没有,就插入;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4d4b62a43
2009-10-23
知道答主
回答量:18
采纳率:0%
帮助的人:11.6万
展开全部
建唯一索引
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式