我正在运行以下查询,
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'.
有什么办法可以阻止这种情况,还是在这些情况下我只需要抓住并忽略?