我们有一个现有的数据库,我们希望将聚集索引更改为一个独特的,单调增加的字段(因为它应该从一开始就是这样),但我们不想更改主键,因为有数据引用此主键。
我们添加了一个新列SequentialId
并用数据填充它,作为我们的新聚集索引。
但是我们如何改变聚集索引呢?如果可能,我们要么替换现有的聚簇索引,要么将SequentialId
添加到当前索引作为第一列。
我们如何解决这个问题?看来我们不能在不删除主键的情况下更改聚簇索引(我们不能这样做)。
答案 0 :(得分:1)
使用ALTER TABLE
命令删除PRIMARY KEY
约束,这与删除强制执行CLUSTERED INDEX
约束的PRIMARY KEY
不同,并使用其他列重新创建
ALTER TABLE <Table_Name>
DROP CONSTRAINT <constraint_name>
ALTER TABLE <Table_Name>
ADD CONSTRAINT <constraint_name> PRIMARY KEY (<Column1>,<Column2>)