问题:
数据文本a.sql的格式为:col1,col2,col3,col4,col5
怎样局部将数据导入b表中,数据类型一致。例如:我要将a.sql中的 col1,col3,col5导入到b表中。mysqlimport工具,或其它工具或命令实现呢?附: a表和b表,不能直连,不能通过 insert into b select a 方式直接读取。

解决方案 »

  1.   

    --tryLOAD DATA INFILE 'a.sql'
    INTO TABLE B
    FIELDS 
        TERMINATED BY ','
    LINES 
        TERMINATED BY '\n'
    (col1,col3,col5);
      

  2.   

    参考一下MYSQL帮助文档中的一个例子,利用变量来屏蔽某些列。LOAD DATA INFILE 'file.txt'
      INTO TABLE t1
      (column1, @dummy, column2, @dummy, column3);
    LOAD DATA INFILE 'a.sql' 
    INTO TABLE B
    FIELDS 
        TERMINATED BY','
    LINES 
        TERMINATED BY'\n'
    (col1,@dummy,col3,@dummy,col5);
      

  3.   

    mysql help:
    User variables in the SET clause can be used in several ways. The following example uses the first input column directly for the value of t1.column1, and assigns the second input column to a user variable that is subjected to a division operation before being used for the value of t1.column2: LOAD DATA INFILE 'file.txt'
      INTO TABLE t1
      (column1, @var1)
      SET column2 = @var1/100;
    You can also discard an input value by assigning it to a user variable and not assigning the variable to a table column: LOAD DATA INFILE 'file.txt'
      INTO TABLE t1
      (column1, @dummy, column2, @dummy, column3);
      

  4.   

    感谢两位高手,结贴
    因为以前一直用MSSQL,以后请多关照。