我在Server中有一个具有自动增量列的数据的表.自动增量列中的数据不是连续的。这就像1, 2, 3, 5, 6, 7, 9 (缺少4和8)。
我希望将这个表中的确切数据复制到另一个新的和空的相同的表中。目标表还有一个自动增量列。
问题:当我使用下面的查询复制数据时,AttachmentID有新的和不同的值
INSERT INTO FPSDB_new.dbo.Form_Attachment
SELECT
CategoryID
FROM
FPSDB.dbo.Form_Attachment目标和源中的Form_Attachment表与下面的相同
CREATE TABLE [dbo].[Form_Attachment]
(
[AttachmentID] [int] IDENTITY(1,1) NOT NULL,
[CategoryID] [int] NULL
)是否有SQL查询解决方案使两个表具有相同的数据?
发布于 2016-01-20 07:51:53
您可以通过在事务中使用IDENTITY列插入SET IDENTITY_INSERT ON (不要忘记在事务之后关闭它):
INSERT on and off using SQL Server 2008?
SET IDENTITY_INSERT FPSDB_new.dbo.Form_Attachment ON
INSERT INTO FPSDB_new.dbo.Form_Attachment ( AttachmentID, CategoryID )
SELECT
AttachmentID,
CategoryID
FROM
FPSDB.dbo.Form_Attachment
SET IDENTITY_INSERT FPSDB_new.dbo.Form_Attachment OFF发布于 2016-01-20 07:54:17
您也可以这样做:
发布于 2016-01-20 07:54:25
可以使用以下命令:将IDENTITY_INSERT设置为ON
https://stackoverflow.com/questions/34894330
复制相似问题