[英]Multiple Primary Keys For Table
嗨,我相对较新的SQL,我使用的是Microsoft SQL Server
我希望制作一个将两个表(A和B)链接在一起的数据透视表。 然而,链接旨在是动态的。 这意味着将经常创建和删除从A到B的链接。
A和B之间的关系是一对多(一个A可以有很多B)
我想使用集群主键,但似乎无法创建一个,因为A链接的类型是varchar(max),而B的链接是int。
在Microsoft SQL Server Management Studio中,我通常会在设计窗口中选择这两列,并使它们成为主键。 但是该选项显示为灰色。
有没有办法让不同类型的许多不同列成为集群主键,或者我是以错误的方式处理这个问题?
不,不可能。 PRIMARY意味着第一,主要 - 只能有一个。
您可以拥有无限数量(实际上)的唯一indix,但只有一个可以是主键,只有一个(不一定是同一个)可以是聚簇索引。
现在,在外键关系中使用varchar(max) - 这是你应该修复的核心问题。 SOmeone真的f * * *数据库设计史诗。 我们可以讨论在密钥中一般使用varchar,但varchar(max)用于休眠文本存储,不能是任何索引的一部分(在关系中不能使用的全文索引之外)。 我建议先修复它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.