insert a select * from b
这样的话必须是两表字段顺序相同才行(类型匹配)

解决方案 »

  1.   

    insert a select * from b
      

  2.   

    顺序不相同的话insert进去的数据就无法一一对应了
      

  3.   

    也就是说同名字段之间不一定能一一对应insert进去的了。
      

  4.   

    我现在试着将两个表的顺序是一样的,可还是不行啊,请指教!
    "insert abcd1  select * from sellorderdetail"
    abcd1 和 sellorderdetail 是一样的,而且顺序一样
    出现错误信息如下:
    仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表 'abcd1' 中为标识列指定显式值。
      

  5.   

    如果字段的顺序一样用insert into b select * from a如果字段的顺序不一样insert into b (col1,col2,...,coli,...,coln) select * from a (此时要保证coli的排列程序要和a表中的字段顺序一样。)
      

  6.   

    那是因为你的表中存在有自增的字段你可以这样做,
    对表a建个视图viewa,视图中为除那个自增字段以外的所有字段。insert into b (col2,...,coli,...,coln) select * from viewa (本例假设col1为自增字段)
      

  7.   

    或者用
    bcp databasename..a out c:\a.dat -c -T
    bcp databasename..b in c:\a.dat -c -T