不用"一个个的读然后插入",用以下语句:
insert a(Fields) select Fields from b
其中Fields是表中除自增长的列外的所有字段,而且保持两个Fields完全一样!

解决方案 »

  1.   

    insert 到临时表,插入数据集根据autoid排序
      

  2.   

    是这样的,我在一个表里用自增长的id,同时为了表示记录之间的上下的树状关系,
    我添加了一个parentid地列,这个列里就是上级的id,这样就把一棵树存在一张表里了。
    但是要把两个树合并成一个数(保持树状关系),但按时间排序,该怎么做那
      

  3.   

    还是不明白,你原来的两棵数是放在不同的两个表,那他们之间没有任何关系,现在为什么要把他们放在一起?如果放在一起,是不是不但要修改ID而且要修改parentid?
      

  4.   

    你的两个表ID号有重的吗?
    建一个旧ID号与新ID号的对应表,与此表关联更新所有有关的表和字段就可以了.
      

  5.   

    他的问题好象是这样:
    1、两个表的ID原来是自增长的,所以一定有重复的。
    2、两个表都有parentid列表示其父节点,这样在两个表各自形成许多棵树。
    3、合并后保持每棵树不变,这要求如果一条记录改变了ID,那它的子节点的parentid也要相应改变。
    4、两个表的原ID都需要改变,因为他要求按时间排序,我理解的“按时间排序”是ID按时间排序。不知道我的描述清楚没有!我想提供的思路:
       你一定已经做了读出整棵树的功能,你可以做一个程序按时间先后从两个表读整棵树,再一棵一棵地写到第三个表(这个表是新加的)。全部转完后修改表名。想不出好方法,只好说笨方法!