仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时

网上寻求帮助时看到的解决方案 ,先感谢 。出自:https://blog.csdn.net/weixin_42702718/article/details/90769800

写在自己这里以后好找

需求是我需要给一个表做备份,想着直接用语句备份,所以用脚步创建了一个一样的表

insert into A select * from B 

执行时报错    仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时...

原因:应该是我的B表有自增长的主键,限制了

解决方法:

set identity_insert A on

insert into A(ID,Name,...)select * from B 

set identity_insert A off 

 

–把另一个数据库中相同的表内容复制到当前数据库对应的表中

set identity_insert A1 on
insert into A1(Id,name,…) select * from DB_A.[dbo].A1
set identity_insert A1 off

注意,列名是不能省略的,而且执行完成之后,最好off一下

 

 

你可能感兴趣的:(SQL)