一次插入 100,000 行..错误标识列违规
我正在尝试在大约 100k 条记录的表中逐行插入。大约 140 条记录后我收到此错误。
违反主键约束 'PK_表1'。无法插入重复项 键入对象“table1”。声明 已终止。
在这种情况下,主键是 IDENTITY 列。我没有将该列包含在我的 INSERT 语句中。
我运行了 DBCC CHECKIDENT (table1,noreseed)
当前标识值和当前列值不相同。
如果我在 5 分钟内运行相同的命令,它们就会变得相同。
我不知道问题出在哪里。非常感谢任何帮助。
I'm trying to insert row by row in a table about 100k records.. I get this error after some 140 or so..
Violation of PRIMARY KEY constraint
'PK_table1'. Cannot insert duplicate
key in object 'table1'. The statement
has been terminated.
In this case the primary key is an IDENTITY column. I do not include that column in my INSERT statements.
I ran DBCC CHECKIDENT (table1,noreseed)
The current identity value and the current column value are NOT the same.
If I run the same command in 5 min, they become the same.
I cannot figure out what the problem is. Any help is greatly appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果目标表不为空,那么您需要将标识列重新设定为下一个最高的现有值,如下所示:
If the destination table is not empty then you want to reseed the identity column to the next highest existing value like so:
您可以使用 bcp 命令来完成此工作。您可以指定是否检查身份。
You can use bcp command for this work. You can specify that identity being checked or not.