有两个数据库 DB1 和 DB2
里面都有三个表   表A  表B  表C  表结构都一样。
DB1表数据如下
表A:
  ID  A1  A2  
  1   2    3      
  2   3    4
  3   5    6表B:
  ID  B1  B2  IID
  1   2    3   1
  2   2    4   1
  3   5    6   2
  4   7    8   3表C:
  ID  C1  C2  IID
  1   2   3    1
  2   4   5    2
  3   6   7    2
  4   8   9    4注: 表A,表B,表C的ID字段为主键
     表B IID 与 表A 的ID 关联
     表C IID 与 表B 的ID 关联
问: 怎么把DB1里的数据导入至DB2(DB2数据库表中已存在数据)
  

解决方案 »

  1.   

    先导a表、在b表,然后再c表
      

  2.   


    insert into DB1..A select * from DB2..A
    insert into DB1..B select * from DB2..B
    insert into DB1..C select * from DB2..C
      

  3.   

    insert db2..表A select * from db1..表A
    insert db2..表B select * from db1..表B
    insert db2..表C select * from db1..表C
      

  4.   

    --1. 两个数据库是否是同一服务器?如果是,则:insert into DB2.dbo.tc
    select * from DB1.dbo.tc
    --如果不是则建立动态链接服务器,借用另外一个帖子
    http://topic.csdn.net/u/20100706/13/d2dab46b-03da-4fcf-bd4d-b86fe5c8f357.html
      

  5.   

    insert into DB1..A select * from DB2..A
    不能插入重复键。。DB2数据库表中已存在数据中已经存在数据了。。
      

  6.   

    insert db2..表A select * from db1..表A where id not in(select id from db2..表A)
    insert db2..表B select * from db1..表B where id not in(select id from db2..表B)
    insert db2..表C select * from db1..表C where id not in(select id from db2..表C)
      

  7.   

    谢谢你的帮助,可能我说的不明白,我想DB1里的表数据导入至DB2是作为一条新数据的
    DB1里表A先导入至DB2里表A(因为DB2里表A已经有数据了)导入时它要产生新的ID主键
    然后导入表B(因为DB2里表B也有数据了)且产生新的ID主键,表B的IID 要跟之前导入的表A 新的ID 主键进行关联
    表C也一样。
    我个菜鸟很纠结了。很久以前给一个朋友写了个小型的数据库软件,后来这个东西被他带到外地去使用了。现在要将两个数据库合并。