大家好,请教一个问题
我现在想用msyqldump从表A中导出部分数据,其中 -w 条件部分用到了表B的内容,请问这两个表怎么加在mysqldump语句中呀?我是这么写的msyqldump -w "A.id = B.id and b.timestamp < '2009-10-19 15:59:59'" dbname A B -u root -p123456 > a.sql但是报错,说是找不到表B
请高人指点一下,不胜感激!

解决方案 »

  1.   

    msyqldump -w "A.id = B.id and b.timestamp  < '2009-10-19 15:59:59'" dbname A B --lock-all-tables -u root -p123456 > a.sql
      

  2.   

    当您的问题得到解答后请及时结贴.
    http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
      

  3.   

    msyqldump -w "id in (select id from B where b.timestamp < '2009-10-19 15:59:59'" dbname A B --lock-all-tables -u root -p123456 > a.sql
      

  4.   


    不好意思啊,其实这个问题有三个条件的
    msyqldump -w "A.id = B.id and A.cid = B.cid and b.timestamp < '2009-10-19 15:59:59'" dbname A B -u root -p123456 > a.sql 也就是说,A表中id和cid都是主键。请问你上面的这个语句应该怎么调整呢??
      

  5.   

    msyqldump -w "(id,cid) in (select id,cid from B where b.timestamp  < '2009-10-19 15:59:59'" dbname A --lock-all-tables -u root -p123456 > a.sql
      

  6.   

    多谢了!!! 按照你提供的方法,问题终于解决了!!!但现在又有一个新的问题,我想备份两个表的数据,因为用mysqldump导出的全是sql语句,因此我想将这两个表的数据都备份到同一个a.sql文件中
    但是我发现,用一次mysqldump之后,再用mysqldump将第二张表的数据存入到该表中时,第一次存的结果就没有了
    请问该如何将两次都写到同一个.sql中呢??
      

  7.   

    -p123456 >> a.sql