我在我的测试数据库数据表标签。
ID int autoincrement
Name nvarchar(255)
我想将此表格传输到我的生产数据库。
如果我想拥有相同的ids foreach元素
,该如何做到这一点问题是我在testdatable的起始索引是15,而且有些id不存在,因为我删除了它们。
所以:
Test datable的情况
15 sport
18 money
30 homework
生产数据表中的所需情况
15 sport
18 money
30 homework
在开始时,生产数据表为空,并且也有自动增量。
答案 0 :(得分:5)
在将数据插入新表之前,请在目标表上使用identity_insert功能。
SET IDENTITY_INSERT YourNewTable ON
INSERT YourNewTable (ID, Name) SELECT ID,Name FROM YourOldTable
SET IDENTITY_INSERT YourNewTable OFF
答案 1 :(得分:1)
您可以关闭自动递增字段的约束,将数据加载到表格中,然后重新打开自动递增字段。
答案 2 :(得分:1)
你可以使用
SET IDENTITY_INSERT MY_TABLE ON
INSERT MY_TABLE (Id, Field1) VALUES (15, 'sport')
SET IDENTITY_INSERT MY_TABLE OFF
如果你说的prod数据库是空的(假设它是同一个数据库),那么或进行备份/恢复