新建一个表,这个表结构与另一个表完全相同,有一个自增列 indentity(1,1),我想把数据也完全copy过来,如下语句:insert into KnowledgeData..CompanyChangeLog select * from KnowledgeData1..CompanyChangeLog可是报错说自增列不能插入数据,这样就很麻烦了,要把不是自增列的列名都写出来,很麻烦,请问有没有什么可以设置自增列可以插入数据?只能去掉自增列上面的自增属性,等insert完了再加上么?

解决方案 »

  1.   

    SET IDENTITY_INSERT [ database_name . [ schema_name ] . ] table { ON | OFF }. 
      

  2.   

    use KnowledgeData
    go
    set identity_insert CompanyChangeLog on
    insert into CompanyChangeLog(把要插入的列名全部显式的列在这里) select * from KnowledgeData1..CompanyChangeLog
    set identity_insert CompanyChangeLog off
    go
      

  3.   

    set identity_insert 自增列 on
      

  4.   

    原来在 set identity_insert CompanyChangeLog on 之后还要指明列名。