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:在两个主键之一上设置自动增量时出错的主要内容,如果未能解决你的问题,请参考以下文章
JAVA中用啥方法向SQL server2005中插入一条数据并返回他的主键值
SQL Server 2005 会因为我使用 nvarchar(50) 而不是整数作为主键而惩罚我吗?