在IGNORE_DUP_KEY = ON的重复插入上,PK没有自动增量

时间:2013-01-01 16:08:26

标签: sql-server entity-framework sqlbulkcopy

我设置了IGNORE_DUP_KEY = ON,因此当我们尝试插入大量数据时没有警告。但是,对于每个重复行,主键确实会增加,因此当您有20个重复行之后,可以从Id 100转到120。有没有办法让它在没有手动设置值的情况下继续在101?我正在使用SqlBulkCopy和Entity Framework,我对SQL查询不感兴趣来解决这个问题(例如使用NOT EXISTS)。当然,我们可以先检查一条记录是否已经存在但我们不愿出于性能原因。

1 个答案:

答案 0 :(得分:0)

如果您需要连续的身份值,则IDENTITY不适合您。绝对不能保证身份值不会丢失。您的情况不是发生这种情况的唯一情况。

自己管理ID(例如,使用序列;不容易集成到批量加载)或放弃要求不间断ID。