IDENTITY_INSERT ON失败,错误“...不是用户表。无法执行SET操作”

时间:2011-12-31 15:31:20

标签: sql sql-server

我不小心删除了数据库中的一行,我想重新插入该行。问题是主键设置为自动增量,表IDENTITY INSERT设置为OFF。我想暂时启用标识插入,这样我就可以插入已删除的行,然后禁用标识插入。

在SQL Server Management Studio中,我尝试了以下操作:

SET IDENTITY_INSERT myTable ON

INSERT INTO myTable (id, name, value)
VALUES (241, 'hello', 'hello2')

SET IDENTITY_INSERT myTable OFF

第一行失败了:

  

Msg 8105,Level 16,State 1,Line 2
  'myTable'不是用户表。无法执行SET操作。

知道为什么吗?

1 个答案:

答案 0 :(得分:5)

错误说明: http://www.sql-server-performance.com/2007/not-a-user-table-cannot-perform-set-operation/

myTable似乎并不是一张桌子。

试试这个:

SELECT * FROM sysobjects WHERE name = ‘myTable’

什么是xtype?