【问题标题】:LOAD DATA LOCAL, How do I skip the first line?LOAD DATA LOCAL,如何跳过第一行?
【发布时间】:2010-12-09 18:06:58
【问题描述】:

我正在尝试将 CSV 文件加载到我的 MySQL 数据库中, 但我想跳过第一行。

我实际上它包含我的列的名称并且没有有趣的数据。

这是我正在使用的查询:

LOAD DATA LOCAL INFILE '/myfile.csv' 
INTO TABLE tableName
FIELDS TERMINATED BY ','
ENCLOSED BY '\"' 
LINES TERMINATED BY '\n' 
(column,column,column);

【问题讨论】:

    标签: sql mysql csv import load-data-infile


    【解决方案1】:

    试试这个:

    IGNORE N LINES
    LOAD DATA INFILE "/path/to/file.csv"
    INTO TABLE MYTABLE 
    COLUMNS TERMINATED BY ','
    OPTIONALLY ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
    IGNORE 1 LINES;
    

    【讨论】:

      【解决方案2】:

      对于那些好奇的人,IGNORE N LINES 应该在分隔符限定符之后:

      LOAD DATA LOCAL INFILE '/myfile.csv' 
      INTO TABLE tableName
      FIELDS TERMINATED BY ','
      ENCLOSED BY '\"' 
      LINES TERMINATED BY '\n' 
      IGNORE 1 LINES
      (column,column,column);
      

      【讨论】:

      • 您对 IGNORE 位置的注释是 KEY!
      【解决方案3】:
      LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test IGNORE 1 LINES;
      

      (reference)

      【讨论】:

      • 我有一个问题。让我们忽略第 5 行;举个例子。那会忽略第 5 行还是第 1-5 行?
      • @EatSleepCode,它会忽略前 N 行,所以第 1 到第 5 行,最后包含。
      猜你喜欢
      • 1970-01-01
      • 2014-11-08
      • 2020-06-26
      • 2015-03-11
      • 2014-01-25
      • 2013-10-11
      • 2012-10-05
      • 1970-01-01
      • 2013-01-13
      相关资源
      最近更新 更多