防止SQL Server中表的多行中的重复字段

时间:2013-11-19 19:54:25

标签: sql sql-server

我的SQL Server数据库中有以下表格:

教师

tid INTEGER
did INTEGER
fname VARCHAR
lname VARCHAR
email TEXT

课程

cid INTEGER
cname VARCHAR
units INTEGER

cid INTEGER
tid INTEGER
semester
exam time
exam class

现在我想阻止为“考试时间”和“考试类”具有相同值的表“教”插入行。请注意,“Teach”可以包含具有相同“考试时间”和不同“考试类”的行,也可以包含具有相同“考试类”和不同“考试时间”的行。

如何在桌面上执行此限制?

2 个答案:

答案 0 :(得分:0)

使用复合唯一索引

ALTER TABLE Teach ADD UNIQUE INDEX([exam class], [exam time]);

如果您想要

,请参阅以下有关复合唯一索引的其他信息

http://www.blackwasp.co.uk/SQLUnique.aspx

答案 1 :(得分:0)

您正在寻找独特的约束。 为列exam timeexam class定义唯一约束。

Documentation for MS SQL