唯一的非索引索引-插入重复值

时间:2019-03-07 03:04:21

标签: azure tsql indexing

我的Azure数据库上有一个唯一的非索引索引,代码在下面...

CREATE UNIQUE NONCLUSTERED INDEX [IX] ON [dbo].[TableName]
(
    [Username] ASC,
    [GUID] ASC
)WITH (STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF) ON [PRIMARY]

由于某种原因,用户名和GUID的表中的值重复。 如果该索引存在,那怎么可能?

您可以先关闭然后再打开以添加具有相同用户名和GUID的新记录吗?

出现以下错误...

  

无法在对象中插入重复的键行   具有唯一索引的“ dbo.Tablename”

1 个答案:

答案 0 :(得分:0)

当使用UNIQUE ... ALTER TABLE命令插入到带有NOCHECK索引的表中时,可以禁用约束检查。可以执行违反约束的插入操作,然后可以稍后重新启用约束,使重复记录保持不变。

例如

USE AdventureWorks2012;  
GO  
ALTER TABLE Purchasing.PurchaseOrderHeader  
NOCHECK CONSTRAINT FK_PurchaseOrderHeader_Employee_EmployeeID;  
GO  

Reference link

ALTER TABLE [MyTable] NOCHECK CONSTRAINT ALL

相关:How can foreign key constraints be temporarily disabled using T-SQL?