我有以下表格定义:
CREATE TABLE [Car]
(
CarID int NOT NULL PRIMARY KEY IDENTITY(1,1),
FirstColorID int FOREIGN KEY REFERENCES Colors(ColorID),
SecondColorID int FOREIGN KEY REFERENCES Colors(ColorID),
UNIQUE(FirstColorID, SecondColorID)
)
我希望两个颜色列是唯一的,不管它们出现在哪个组合中。
例如,尝试:
INSERT INTO Car (FirstColorID, SecondColorID) VALUES (1, 2); --should succeed
但是在第一条记录存在且颜色相反的情况下尝试相同操作应该会失败:
INSERT INTO Car (FirstColorID, SecondColorID) VALUES (2, 1); --should violate constraint/check
我已经用高级代码解决了这个问题,但我更希望将约束直接强制执行在数据库中,最好不涉及触发器等内容。
谢谢。