Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 复制自动递增的数据表_Sql Server 2005_Tsql - Fatal编程技术网

Sql server 2005 复制自动递增的数据表

Sql server 2005 复制自动递增的数据表,sql-server-2005,tsql,Sql Server 2005,Tsql,我的测试数据库中有datatable标记 ID int autoincrement Name nvarchar(255) 我想将此表传输到我的生产数据库 如果我希望每个元素都有相同的ID,该怎么做 问题是,我在testdatable的起始索引是15,并且一些ID不存在,因为我删除了它们 因此: 测试数据表中的情况 15 sport 18 money 30 homework 生产数据表中的期望情况 15 sport 18 money 30 homework 开始时,生产数据表为空,并且也具有

我的测试数据库中有datatable标记

ID int autoincrement
Name nvarchar(255)
我想将此表传输到我的生产数据库

如果我希望每个元素都有相同的ID,该怎么做

问题是,我在testdatable的起始索引是15,并且一些ID不存在,因为我删除了它们

因此:

测试数据表中的情况

15 sport
18 money
30 homework
生产数据表中的期望情况

15 sport
18 money
30 homework

开始时,生产数据表为空,并且也具有自动递增功能。

在将数据插入新表之前,使用目标表上的标识插入功能

SET IDENTITY_INSERT YourNewTable ON

INSERT YourNewTable (ID, Name) SELECT ID,Name FROM YourOldTable

SET IDENTITY_INSERT YourNewTable OFF

在将数据插入新表之前,请在目标表上使用identity_insert功能

SET IDENTITY_INSERT YourNewTable ON

INSERT YourNewTable (ID, Name) SELECT ID,Name FROM YourOldTable

SET IDENTITY_INSERT YourNewTable OFF

您可以关闭自动递增字段的约束,将数据加载到表中,然后重新打开自动递增字段。

您可以关闭自动递增字段的约束,将数据加载到表中,然后重新打开自动递增字段。

您可以使用

SET IDENTITY_INSERT MY_TABLE ON
INSERT MY_TABLE (Id, Field1) VALUES (15, 'sport')
SET IDENTITY_INSERT MY_TABLE OFF
或者,如果prod数据库如您所说是空的(假设它是同一个数据库),则进行备份/还原。

您可以使用

SET IDENTITY_INSERT MY_TABLE ON
INSERT MY_TABLE (Id, Field1) VALUES (15, 'sport')
SET IDENTITY_INSERT MY_TABLE OFF

或者,如果prod数据库如您所说是空的,则进行备份/恢复(假设它是同一个数据库)

对于此操作,最好使用select子句而不是values子句。对于此操作,最好使用select子句而不是values子句。当然,您可能需要一个到dev baox的链接服务器。请执行此操作,或者将整个dev表复制到prod服务器上的暂存表中,然后执行此操作。当然,您可能需要一个到dev baox的链接服务器这会将整个dev表复制到prod服务器上的staging表中,然后执行此操作。