我在text
列的索引表上有聚簇索引。我想用不同的列切換該列,如ID
,如何更改索引?改變聚簇索引列
我無法刪除並重新創建,因爲它在Azure上運行,並且表需要始終具有聚簇索引。
SQL命令和用於更改索引中索引列的語法。
改變索引?
我在text
列的索引表上有聚簇索引。我想用不同的列切換該列,如ID
,如何更改索引?改變聚簇索引列
我無法刪除並重新創建,因爲它在Azure上運行,並且表需要始終具有聚簇索引。
SQL命令和用於更改索引中索引列的語法。
改變索引?
您無法更改聚集索引。
唯一的選擇是刪除它並用新列重新創建它。
就你而言,你可能不得不用ID
上的新聚簇索引重新創建表格,然後複製數據。
試試這個:
create clustered index [your_index_name]
on [your_table]
([ID])
with (drop_existing = on)
它沒有爲我工作: Msg 1907,級別16,狀態1,行1 無法重新創建索引'my_index_name'。新的索引定義與現有索引強制執行的約束不匹配。 – 2014-08-28 17:13:26
我的猜測是你的聚集索引也是一個主鍵。在這種情況下,你需要刪除並重新創建。 – 2014-08-28 17:14:54
這對於主鍵上的聚簇索引no很有效。謝謝! – kspearrin 2015-03-09 15:43:56
廣東話你所要求的列上添加一個新的聚集索引,然後刪除舊的嗎? – 2013-04-08 06:26:49
@AjoKoshy:不 - 你可以**從不**在桌子上有多個聚簇索引! – 2013-04-08 06:28:02