数据表的identity

虽然用了很久,但有时候一点小问题不注意,看半天也没注意到是什么问题

A库.A表和B库.B表是同结构的表,
 
A库.A表有数据,
B库.B表无
 
我现在从A库.A表导出数据到B库.B表,
有一个错误:
 
An explicit value for the identity column in table ‘B库.B表' can only be specified when a column list is used and IDENTITY_INSERT is ON.
哪有错了?
 
Sql:
 
set IDENTITY_INSERT B库.B表 ON  
insert into B库.B表 select * from A库.A表
set IDENTITY_INSERT B库.B表 OFF 

解决方案:
这个错误的意思是说,要在identity的列上显式的插入值,需要两个条件   
  1.明确的写出要插入的列名   
  2.set   identity_insert   table_name   on   
    
  显然,你违反了第一条   
    
    
  这样改写即可   
  set   identity_insert   identable   on   
  insert   into   identable(column1,column2,...)   select   column1,column2,...   from   #temp   
  set   identity_insert   identable   off  
原文地址:https://www.cnblogs.com/fengsui/p/3166863.html