我有以下表定义:
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
我已经使用高级代码解决了这个问题,但我宁愿直接在数据库中强制执行约束,最好不涉及触发器之类的东西。
谢谢。