我的 SQL Server (2008) 数据库中有一个无向图表,我想要一个约束来防止重复。我的链接表有 2 列 (City1, City2),它们都是 Cities 表的整数引用。我可以使用以下内容:
ALTER TABLE dbo.CityConnections
ADD CONSTRAINT CK_CityConnections_OneWayOnly UNIQUE (City1, City2)
这做了我想要的一半,但这并不妨碍添加“反向”连接。
谷歌向我展示了
... UNIQUE (MIN(City1,City2), MAX(City1,City2))
看起来它将完全符合我的要求,但语法无效。
我也使用 CASE 尝试了一个复杂的约束,但我也无法正确地得到这个语法。
我怎样才能做到这一点?