SQL Server 2005:在两个主键之一上设置自动增量时出错

Posted

技术标签:

【中文标题】SQL Server 2005:在两个主键之一上设置自动增量时出错【英文标题】:SQL Server 2005: Getting error when setting auto increment on one of two primary keys 【发布时间】:2010-07-26 07:14:33 【问题描述】:

我收到一个错误 “当 IDENTITY_INSERT 设置为 OFF 时,无法为表 'table' 中的标识列插入显式值。”

该表有两个主键,一个设置为自增,一个设置为 i 传入的值。

这在 SQL Server 2005 中是否可行?还是我错过了什么?

非常感谢。

【问题讨论】:

你怎么能做两个主键?你只能有一个pk。 好吧..我们确实有复合主键。尽管我不确定主键的最大数量。您只需按 ctrl 并单击要设置为主键的列,右键单击并“设置主键”。 :) 希望这就是你要找的。​​span> 【参考方案1】:

您正在尝试将值插入标识列 你可以这样做

SET IDENTITY_INSERT TableName ON
INSERT INTO TableName() VALUES ()
SET IDENTITY_INSERT TableName OFF

http://msdn.microsoft.com/en-us/library/ms188059.aspx

【讨论】:

我想这就是我的问题的答案。尽管我的解决方案是停止尝试将值插入自动递增列。谢谢nonnb!!~~

以上是关于SQL Server 2005:在两个主键之一上设置自动增量时出错的主要内容,如果未能解决你的问题,请参考以下文章