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