我得到這個錯誤:不能具有唯一索引在對象中插入重複鍵行的重複鍵值的SQL Server
Cannot insert duplicate key row in object 'dbo.CLIENT' with unique index 'CLIENT_idx_A'. The duplicate key value is (14441828, 1).
當我檢查,各項指標,它的創建是這樣的:
CREATE UNIQUE NONCLUSTERED INDEX [CLIENT_idx_A] ON [dbo].[CLIENT]
(
[SOURCE_SYSTEM_CLIENT_ID] ASC,
[SOURCE_SYSTEM_ID] ASC
)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF,
DROP_EXISTING = OFF, ONLINE = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
其實,我想更新SOURCE_SYSTEM_CLIENT_ID
中的一個值,而我的SOURCE_SYSTEM_ID
對於我想要更新的所有SOURCE_SYSTEM_CLIENT_ID
都是1。所以我認爲,它遇到了重複。我該如何解決這個問題?
您遇到該錯誤,因爲您將導致2條記錄(338393005,1)。如果允許,您需要刪除該索引。這是解決方案。 –
我是否需要刪除索引,運行更新查詢,然後再次創建索引?或者有什麼方法可以刪除索引? – AskMe
您的數據庫被限制爲不允許每個系統有多個客戶端記錄。如果此規則不再有效且允許重複,則可以刪除索引,重新添加非唯一索引並運行更新。 – UnhandledExcepSean