大家好,正在做一个新的项目,情况比较特殊,不知道如何建立表和数据同步才比较合适,请大家建议建议,谢谢场景如下:
分别有A,B,C,D四个点,四个点各自有多台计算机和一个服务器。但是这四个点的网络都仅仅为内联网,而且是一定不能连接互联的,导致4各点有4个数据库。现在要每天把B,C,D的数据同步到A中应该在程序中导出数据,然后insert到A数据库?这样ID重复怎么办?也有可能会出现ID关联时出现混乱导致数据错误?
整个数据库导入到A中?因为程序生成的数据库每个点都是同名的,那导入的时候要改名?因为A中的程序要统计所有点的数据,而且点有可能增加,这样程序就不知道怎样处理了我的数据库知识不咋地,MySQL 更是第一次使用,希望大家多给建议,感谢!
mysql数据库数据同步

解决方案 »

  1.   

    在A中建立四个数据库  名字就叫ABCD  然后四个地方的数据分别倒入四个库
      

  2.   


    嗯,是的,就是这意思,应该如何设计表的更为适合这种情况?? 因为导出数据以后ID肯定会有冲突的比方说A点的test表
    test:
    ID    Name
    1     AAA
    2     BBBB点的test表
    test:
    ID    Name
    1     CCC
    2     DDD
    3     EEE这种情况应该如何处理呢??
      

  3.   

    单独建立一个新表total_test,然后insert into total_test(value1, value2) select value1, value2 from A_test/B_test
    ID的话在新的表里重新建立,你要是想保留旧ID的话,就在新表里多建立一个字段,记录来源和ID
      

  4.   

    不要ID OR ID不设为主键(没有唯一索引)OR 字母+ID(如A1 A2 B1 B2 C1 C2 ...)
      

  5.   


    谢谢您的回复,但是要考虑到是整个数据库的数据表导入,有很多ID 关联的表应该如何处理呢??比方说
    A点,表:user
    userid    name
    1         aaa
    2         bbb
    表:test
    id    userid    res
    1     1         test aaa
    2     1         haha
    3     2         bB点,表:user
    userid    name
    1         ccc
    2         ddd
    3         eee
    表:test
    id    userid    res
    1     1         c
    2     2         d
    3     3         e当备份test的时候,关联的ID怎么处理比较妥当呢??我人比较笨,希望能说得浅白一点,感谢!
      

  6.   

    分四个库 A,B,C,D 然后 A中的auto_increment 从0开始, B中从 1000000开始,C中从 20000000开妈。
      

  7.   

    直接用版主的命名方式吧
    新表:
    id  old_id    name
    1  00000001   AAA
    2  10000001   BBB
    3  10000002   CCC
    4  20000001   DDD通过第一位来区分数据在旧表中的位置,比如A表的就是0开头的old_id,B表是1开头
      

  8.   

    将4个库的内容导入到A中,用代码 OR A中的SP对各个数据库中关联ID进行处理
    ,比如B表前缀+B( OR +20000),B表前缀+C( OR +30000) 等等