SQL 如何确定多列唯一索引的唯一性

Y S*_*oli 0 sql sql-server

我有一个包含递送路线中地址序列的表格,例如:

地址标识 路由标识 序列
21 1 11
46 11 1

我在RouteId和上有一个联合唯一索引Sequence。上表是否违反了两条记录合并的情况,111或者索引是否足够智能以意识到这不是重复的?

SEa*_*986 5

唯一索引不会按照您建议的方式连接两个值,它确保{RouteId,Sequence}对是唯一的。

在您的示例中,对是{1,11}{11,1}是不同的,因此在索引中都是合法的。如果您尝试添加第三行,其中 routeId =1 且 Sequence =11,则会违反唯一索引