我在SQLServer中有出勤表,有3个字段(id,course,date) 我希望这张表不会在同一日期和课程中接受相同的ID 但它可以记录不同日期或不同课程的ID。
我尝试在我的存储过程中为此条件添加命令但不起作用。
答案 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
它会失败,因为那组三个值已经存在。