将Access里的10个表导入到mysql对应的表里,数据量大概是20W条左右,现在采用把ACCESS中的各表直接导出为文本文件,然后在MYSQL中用LOAD DATA FILE来加载导入数据,这样速度确实快了不少,但现在有一个问题:
我用语句:SELECT * INTO [TEXT;DATABASE=”d:/temp”].tablename.txt将Access指定表里的数据导入到对应的txt文件,结果导出的txt文件的第一行是每个列的名字,如果直接load该txt文件的话,mysql数据库里就会有一行数据是每个列的名字;请问我该怎么才能去掉这一行呢? 
导出的txt文件的内容为:
“ID”, “FirstName”, “LastName”
1, Jay, Lin
2, Linda, Wang
我现在想将txt文件里的第一行去掉Ps:其实可以通过遍历文件,然后再重写文件实现,但是这样对大数据量的话,速度太慢。

解决方案 »

  1.   

    这种问题建议先看一下MYSQLP官方免费手册中的语法看到红色部分相应你就明白了。
      

  2.   

    SELECT * INTO t4 IN ODBC[ODBC;Driver={MySQL ODBC 5.1 Driver};Server=localhost;Port=3306;Database=tmp;USER=root;Pwd=123;]
    FROM T4;
    这种形式不行吗?
      

  3.   


    这种形式一直提示ODBC fail
    找不到什么原因
      

  4.   

    你可以直接在ACCESSS的查询中使用类似语句。SELECT * INTO mysqlTableName IN ODBC[ODBC;Driver={MySQL ODBC 5.1 Driver};Server=localhost;Port=3306;Database=tmp;USER=root;Pwd=123;]
    FROM accessTablename;
      

  5.   


    这种方式有时候会提示ODBC CALL FAILED;
    并且它的前提mysql里这个表不存在,如果我要把本次导入的数据追加在mysql已存在的表里;就会报“表XX已存在”的错误。
      

  6.   

    如果表已经存在则使用下面语句。insert into mysqlTableName IN ODBC[ODBC;Driver={MySQL ODBC 5.1  Driver};Server=localhost;Port=3306;Database=tmp;USER=root;Pwd=123;] select * from FROM accessTablename;
      

  7.   


    你好, 我看了mysql的文档,但是这两句一直没看明白
    [[OPTIONALLY] ENCLOSED BY 'char']
       [ESCAPED BY 'char' ]比如说,我的表有三个字段,id是int型,另外两个都是varchara(64),表里一个有一条数据如下:
    id, name, path
    1, sample, d:\temp
    用select into的方式导入到test.txt后,test.txt的内容是这样的
    1, "sample", "d:\temp"我如果用"load data local infile "c:\temp\test.txt" into table table1 fields terminated by ',' OPTIONALLY ENCLOSED BY ''”
    则导入到mysql table1表中的数据如下:
    1 | “sample” |"d:temp"
    但我期望的是
    1 |sample|d:\temp