具有自动增量功能的INSERT无法在SQL Server中工作(具有DB复制功能?)

时间:2019-10-12 22:31:39

标签: sql sql-server

没有行删除之后,但是在通过本地订阅从另一个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将从某个地方开始(在本例中为9),而不是从上次使用的+1(即本例中的61)开始。

  

System.Data.SqlClient.SqlException:'违反了主键约束'PK_ImagesTable'。无法在对象“ dbo.ImagesTable”中插入重复键。重复的键值为(9)。

我的表设置为具有自动增量,因此我不必使用显式的IDENT_CURRENT('ImagesTable')。为什么会这样?

此外,尽管如此,当我尝试显式插入ID时,我有:

  

当IDENTITY_INSERT设置为OFF时,无法在表'ImagesTable'中为标识列插入显式值。

建议添加新行的方式是什么?如何插入ID为自动设置的新行?

如果数据库复制的存在并没有传播Identity种子,那么我该如何处理,这样我就不必管理重复的键错误(我确定不会插入重复的错误)?

1 个答案:

答案 0 :(得分:0)

相关问题