在没有行删除之后,但在通过本地订阅从另一个SQL Server实例获取复制的60个现有行之后,我将插入新行:
INSERT INTO [Business].[dbo].[ImagesTable] (Filename, Title, Price, PriceString, Category, CategoryRank)
VALUES ('vegan1.jpg', 'vegan1', 380000, '380,000', 'delices vegan', 0)
但这将失败,因为
ID
System.Data.SqlClient.SqlException:'违反主键约束'PK\u ImagesTable'。无法在对象“dbo.ImagesTable”中插入重复键。重复的键值是(9)。
我的表被设置为具有自动增量,因此我不必使用显式
IDENT_CURRENT('ImagesTable')
. 为什么会这样?
此外,尽管如此,当我尝试显式插入ID时,我有:
当identity\u insert设置为OFF时,无法为表“ImagesTable”中的identity列插入显式值。
添加新行的建议方法是什么?如何插入自动设置ID的新行?
如果DB replication的存在没有传播标识种子,我应该如何处理这个问题,这样我就不必管理重复的密钥错误(我确定我没有插入重复的密钥)?