mysql中表a和表b合并为表c,此时由于需要将表c恢复至表a,表a可能有一些变动,已经是表a‘,此时导入表a’请问如何处理较好?最好能说下思路

解决方案 »

  1.   

    感谢ACMAIN_CHM提醒linux下采用mysql版本5.0.45
    windows下采用mysql版本5.1.73
    建表采用类似结构,关于主键设计是否需要使用外键或复合主键,仍在考虑
    create table members(
    member_id int(11) not null auto_increment,
    fname varchar(50) not null,
    lname varchar(15) not null,
    primary key(member_id)
    )engine=myisam auto_increment=4 default charset=latin1;
      

  2.   

    共享A表与B表合并成C表的规则,另外说明A表中的变化情况 .........
      

  3.   

    合并时这样考虑,有没有其他的建议,通过 
    SELECT fname ,lname FROM membersa INTO OUTFILE 'c:/ma.txt' // 导出表A,表B时不涉及主键
    LOAD DATA INFILE 'c:/ma.txt' INTO TABLE `membersc`(fname,lname)         // 导入表C内容1、若想将合并后的表C内容导入表A,此时有部分数据重复,考虑将表A truncate后全部导入,最简单,但不是很好的方法。由于表c可能由多个表组成,如在每个表在数据内部设定标识,如增加 tabnum,导出时根据需要导出除导入表外的其他表数据,但这样对有多少表合并需清楚,不知道有没有类似 
             SELECT fname ,lname FROM membersc INTO OUTFILE 'c:/mc.txt'  except tabnum =membersa 这样的功能?即将表c中除了表a的内容导入表a
    2、表A如随时间变化,已有新的数据,最好是将表A已经更新的数据保留,将表C导入