我想更改數據庫表上的主鍵/索引,將索引選項ignore_dup_key
更改爲'on'。刪除並重新創建主鍵
根據這個問題「Can I set ignore_dup_key on for a primary key?」我需要刪除索引並創建一個新的。
在我刪除索引之前,如何獲取命令重新創建索引?然後,我將更改ignore_dup_key
選項。
我想更改數據庫表上的主鍵/索引,將索引選項ignore_dup_key
更改爲'on'。刪除並重新創建主鍵
根據這個問題「Can I set ignore_dup_key on for a primary key?」我需要刪除索引並創建一個新的。
在我刪除索引之前,如何獲取命令重新創建索引?然後,我將更改ignore_dup_key
選項。
右鍵單擊SSMS的主鍵,然後選擇腳本 - >作爲創建 - >到新窗口
我不認爲SQL會允許使用IGNORE_DUP_KEY =的PK,所以我在SQL 2008 R2上測試過。
通過腳本可以創建一個PK IGNORE_DUP_KEY = on的表格。但即使在下降和創建也無法將PK從關閉變爲開啓。有趣的是腳本沒有錯誤地運行,但它並沒有將PK從關閉改變爲關閉。您可能會在您的環境中發現不同的結果。
刪除索引 您可以運行
DROP INDEX [IndexName] ON [TableName]
要創建IGNORE_DUP_KEY選項指數
CREATE UNIQUE INDEX [IndexName] ON [TableName]([ColumnNam])
WITH (IGNORE_DUP_KEY = ON)
作爲indicated by a commenter on another related question,您可以啓用表IGNORE_DUP_KEY:
ALTER TABLE [TableName] REBUILD WITH (IGNORE_DUP_KEY = ON);
和恢復:
ALTER TABLE [TableName] REBUILD WITH (IGNORE_DUP_KEY = OFF);
右鍵單擊SSMS的主鍵,然後選擇腳本 - >作爲創建 - >要新建窗口 – Andomar
感謝Andomar。發佈作爲答案,我會接受它。 –
從源代碼控制中獲取腳本,你確實擁有所有數據庫對象和源代碼控制下的代碼,對吧? – Pondlife