Mik*_*234 -1 sql sql-server indexing
主键由4列组成但在聚簇索引中只包含其中3列的SQL是什么?
是否可以在SQL Server Management Studio中执行此操作?
您需要定义两个单独的东西:
四列上的非群集主键
ALTER TABLE dbo.YourTable
ADD CONSTRAINT PK_YourTable
PRIMARY KEY NONCLUSTERED (Col1, Col2, Col3, Col4)
Run Code Online (Sandbox Code Playgroud)四列中有三列的单独聚类索引:
CREATE CLUSTERED INDEX CIX_YourTable
ON dbo.YourTable(Col1, Col3, Col4)
-- adapt this to use those three columns you want
Run Code Online (Sandbox Code Playgroud)是的 - 当然你可以在SQL Server Management Studio中执行那些T-SQL脚本:-)
更新:要使用clicky-mousy-GUI工具在GUI中执行此操作,您需要执行以下步骤:
在对象资源管理器中,在您的表上,您需要首先定义聚集索引,方法是Indexes > New Index > Clustered Index
- 为其命名并添加所需的列
你已经做到了这一点之后,那么你可以定义通常的表设计视图中的主键,因为已经有一个聚集索引,它会成为一个非聚集主键
我还没有找到任何其他方法 - 如果您先创建主键,它将成为一个群集主键,我发现创建它之后无法更改它