我想将表 Equipment
从一个数据库 MyDBQA
复制到我们的测试数据库 MyDB
。表中有一个标识列,它是主键(int,不为空)。
但是我得到了一个错误:
Msg 8101, Level 16, State 1, Line 2
An explicit value for the identity column in table 'MyDB.dbo.Equipment' can only be specified when a column list is used and IDENTITY_INSERT is ON.
我的脚本:
SET IDENTITY_INSERT [MyDB].[dbo].[Equipment] ON
INSERT INTO [MyDB].[dbo].[Equipment] SELECT * FROM [MyDBQA].[dbo].[Equipment]
SET IDENTITY_INSERT [MyDB].[dbo].[Equipment] OFF
最佳答案
正如消息所述,您可能只是缺少列列表
SET IDENTITY_INSERT [MyDB].[dbo].[Equipment] ON
INSERT INTO [MyDB].[dbo].[Equipment]
(COL1,
COL2)
SELECT COL1,
COL2
FROM [MyDBQA].[dbo].[Equipment]
SET IDENTITY_INSERT [MyDB].[dbo].[Equipment] OFF
关于sql-server - 设置 IDENTITY_INSERT ON 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12006273/