EmpID DeptID 1 1 1 2 2 1 3 2 4 5 5 2 1 1 2 1
我想要一个约束,确保一对字段始终是唯一的,例子中显示的最后两个数据的数据不应该插入表中.在上表中
请注意,最后两行是重复的,我想防止发生这种数据.
如何在sqlserver 2005中实现这一点.谢谢
解决方法
ALTER TABLE <YourTable,sysname,Emp> ADD CONSTRAINT <YourConstraintName,uix> UNIQUE NONCLUSTERED (EmpID,DeptID)
(粘贴到SSMS并使用(CTRL Shift M))
或者在表创建时这样做,因为它听起来好像没有其他的关键用途.
CREATE TABLE EMPLOYEE_DEPARTMENT( EmpID int NOT NULL REFERENCES EMPLOYEE(EmpID),DeptID int NOT NULL REFERENCES DEPARTMENT(DeptID),CONSTRAINT PK_EMPLOYEE_DEPARTMENT PRIMARY KEY CLUSTERED (EmpID ASC,DeptID ASC) )