при обновлении строки: Невозможно вставить строку повторяющегося ключа в объект 'dbo.tblRelatie' с уникальным индексом 'idxRelatiesoortRelatiecode' - PullRequest
4 голосов
/ 19 июля 2011

при обновлении строки я получаю вышеуказанную ошибку. idxRelatiesoortRelatiecode состоит из fldRelatieSoort и fldRelatieSoort, и комбинация обоих существует только один раз в таблице.

Так в чем же причина этой ошибки?

Обновление Вот скрипт обновления

UPDATE [SQL].[MyDatabase].dbo.tblRelatie SET 
fldNaam = 'De heer A. Removed', 
fldAdres = 'Removed 12', 
fldPostcode = '1234 AA', fldPlaats = 'Removed', 
fldCorrespondentieAdres = 'Removed 12', 
fldCorrespondentieAdresPostcode = '1234 AA', 
fldCorrespondentieAdresPlaats = 'Removed', 
fldRelatieSoort = 1,
fldRelatiecode = 907534, 
fldCorrespondentieAdresLandID = 1, fldMobieleTelefoon = '', fldTelefoon = '', fldFax = '',  fldEmail = '', fldWebsiteUrl = '', fldBankrekeningnummer = '', fldNaamRekeninghouder = '', 
fldPlaatsRekeninghouder = '', fldKrediettermijn = 30, fldLandID = 1 
WHERE fldRelatieID =1507;

и это idxRelatiesoortRelatiecode:

CREATE UNIQUE NONCLUSTERED INDEX [idxRelatiesoortRelatiecode] 
ON [dbo].[tblRelatie] 
(
    [fldRelatieSoort] ASC,
    [fldRelatiecode] 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, FILLFACTOR = 90) ON [PRIMARY]

1 Ответ

6 голосов
/ 19 июля 2011

В сообщении об ошибке нет большой неоднозначности: вы устанавливаете дубликат где-то

  • Либо: комбинация уже существует, и вы пытаетесь вставить ее снова
  • Или: его не существует, и вы обновляете несколько строк с одинаковой комбинацией

Или перекрытие:

  • комбинация уже существует, и вы обновляете несколько строк одной и той же комбинацией

Если индекс или что-то не так ...

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