我運行下面的查詢,安全插入值具有唯一索引
IF NOT EXISTS
(SELECT TOP 1 forumViewID FROM rla.dbo.forumView WHERE fv_sessionID = 27392504 AND fv_topicID = 23971)
BEGIN
INSERT INTO rla.dbo.forumView (fv_sessionID, fv_topicID) VALUES (27392504, 23971);
END;
我有一個跨越fv_sessionID和fv_topicID的唯一索引 - 所以大多數的這個查詢按預期工作的時候,只有一個「視圖「每個會話生成,偶爾我雖然得到一個錯誤:
Violation of UNIQUE KEY constraint 'IX__forumView'. Cannot insert duplicate key in object 'dbo.forumView'.
有什麼做的,停止此,還是我只需要趕上並在這些情況下忽略?
因爲麻煩列是外國它不可能使用這種身份列,我已經實施了TRY/CATCH,迄今它似乎在做伎倆,所以我會接受這個答案爲此原因。 –