在mysql里要把 一个sql俄结果导出
(select * from  a wher e a.createdate>'2009-03-01')
用工具发现sql语句有很多古怪字符导致导入无法成功。现在思考如何用root登录mysql后
把他的结果做成一个sql。(用mysql的命令作)  ?

解决方案 »

  1.   

    select * from a where createdate>'2009-03-01' INTO OUTFILE 'c:/test.txt'
      

  2.   

    仔细查看 
    工具导出来的insert语句为
    insert into a
    values(1,1,2,,,,,,,,)
    中间有很多的 ,,,,,,,,????? ----这个导致插入失败
      

  3.   

    字符集设置的问题。http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  4.   

    select * from a where createdate>'2009-03-01' INTO OUTFILE 'c:/test.txt'在linux 和windows 都失败ERROR 1 (HY000): Can't create/write to file '/home/1201.sql' (Errcode: 13)
      

  5.   

    仔细反复测试
    发现是权限问题  这个命令必须 有mysql用户对该目录有写权限    下面我们来看看关于mysql Load Data InFile  OutFile数据导入导出哦,这种方法是我们在windows cmd.exe目当下运行的然后再在dos命令方法使用下面的语句的。     Load Data InFile 相反的是
        Select * From `TableTest` Into OutFile 'C:/Data_OutFile.txt';
        把表的数据导出    常用如下:
        Load Data InFile 'C:/Data.txt' Into Table `TableTest` Lines Terminated By 'rn';
        这个语句,字段默认用制表符隔开,每条记录用换行符隔开,在Windows下换行符为“rn”
        C:/Data.txt 文件内容如下面两行:
        1 A
        2 B
        “1”和“A”之间有一个制表符
        这样就导进两条记录了。