УНИКАЛЬНЫЙ НЕКЛАСТЕРНЫЙ ИНДЕКС - Вставьте дублирующиеся значения - PullRequest
0 голосов
/ 07 марта 2019

У меня есть УНИКАЛЬНЫЙ НЕКЛАСТЕРНЫЙ ИНДЕКС в моей базе данных 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 голосов
/ 07 марта 2019

Можно отключить проверку ограничений при вставке в таблицу с индексом UNIQUE, используя команду ALTER TABLE ... NOCHECK.Могут быть выполнены вставки, которые нарушают ограничение, и затем ограничение может быть впоследствии повторно включено, оставляя дубликаты записей без изменений.

например,

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

( Ссылочная ссылка )

или

ALTER TABLE [MyTable] NOCHECK CONSTRAINT ALL

Связанный: Как временно отключить ограничения внешнего ключа с помощью T-SQL?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...