保留数据库中的主键值

0 sql-server

当我将数据从一个表复制到另一个表时,所有主键值都被重置.有没有办法保持原始表的值.

在原始表中,主键值(int)不是连续的(已删除的行)

另一个表具有硬编码的所有值,这就是为什么我需要保持相同的值.

ich*_*ban 5

您可以通过将IDENTIY_INSERT设置为ON来执行此操作

如果两个表具有相同的列,则可以执行以下操作:

SET IDENTITY_INSERT Table2 ON
INSERT Table2(pkId, Field2, Field3,...)
SELECT pkId, Field2,Field3,... FROM Table1
SET IDENTITY_INSERT Table2 OFF
Run Code Online (Sandbox Code Playgroud)