在sql中重复数据

时间:2014-06-18 20:26:56

标签: sql sql-server sql-server-2008 stored-procedures

我在SQLServer中有出勤表,有3个字段(id,course,date) 我希望这张表不会在同一日期和课程中接受相同的ID 但它可以记录不同日期或不同课程的ID。

我尝试在我的存储过程中为此条件添加命令但不起作用。

1 个答案:

答案 0 :(得分:2)

您正在寻找Unique约束。

尝试以下方法:

Alter Table Attendance
Add Constraint uq_WhateverNameYouWant Unique (id, course, date)

这将强制表只接受所有三个字段中的唯一值。

例如如果表格中包含以下值:

Id  Course  Date
1   101     2014-06-18
1   102     2014-06-18
2   101     2014-06-18
2   101     2014-06-19

如果您尝试添加此内容:

Id  Course  Date
1   103     2014-06-18

它会允许它。但是如果你试图添加这个:

Id  Course  Date
1   101     2014-06-18

它会失败,因为那组三个值已经存在。