SQL中数据库表进行互导时,如何处理标识种子列

平时用SQL语句不是很多。这几天在处理一个数据库时,就遇到这样一个问题。二个数据库要互导一些数据,这里遇到一个问题,有些表中的标识种子列,怎么办呢。如果你不管它,可是一些相关的字段却它有关链。是不行的。查了一下资料,用以下的方法可以很容易的解决这个问题

比如我的表名叫,tables1,table2 从table2中将数据导入table1中

里面的字段有id(标识种子),name,sex

我们可以采用

set identity_insert tables1 on    这句很关键,只要它为on时,才可以导

insert into tables1(id,[name],sex)

select id,[name],sex from table2

set identity_insert tables1 off    这里一定要用OFF将它关掉,不然你再使用的时候会告诉你已经打开,无法操作

这里要说明一点,这里不能用*处理,必须要写上每一个字段才行。

SET IDENTITY_INSERT:允许将显式值插入表的标识列(递增/减ID)中。

原文地址:https://www.cnblogs.com/SALIN/p/1588000.html