从CSV导入MySQL-将不同的行导入不同的表

从CSV导入MySQL-将不同的行导入不同的表,mysql,csv,Mysql,Csv,我有一个csv文件,其中包含我正试图使用load data加载到MySQL的数据。我的问题是csv文件的数据属于3个单独的表。第1行进入表1,第2-3行进入表2,其余所有行进入表3。我可以对第三个表使用忽略3行,但不确定如何忽略前2个表所需数据之后的行 以下是我目前的负载数据: LOAD DATA INFILE 'data.csv' INTO TABLE tbl_name1 FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'; LOAD

我有一个csv文件,其中包含我正试图使用load data加载到MySQL的数据。我的问题是csv文件的数据属于3个单独的表。第1行进入表1,第2-3行进入表2,其余所有行进入表3。我可以对第三个表使用忽略3行,但不确定如何忽略前2个表所需数据之后的行

以下是我目前的负载数据:

LOAD DATA INFILE 'data.csv' INTO TABLE tbl_name1
  FIELDS TERMINATED BY ',' 
  LINES TERMINATED BY '\n';

LOAD DATA INFILE 'data.csv' INTO TABLE tbl_name2
  FIELDS TERMINATED BY ',' 
  LINES TERMINATED BY '\n'
  IGNORE 1 LINES;

LOAD DATA INFILE 'data.csv' INTO TABLE tbl_name3
  FIELDS TERMINATED BY ',' 
  LINES TERMINATED BY '\n'
  IGNORE 3 LINES;

我会将所有行加载到一个表中,然后将行的子集复制到适当的表中,然后删除初始加载表。另一种解决方案是在将CSV文件加载到相应的表中之前将其拆分为三个文件。如果可以接受对文件进行小规模编辑,则可以在第一行前面加上一个字符串,第二个是另一个,并使用
起始于
子句对这些数据行进行
加载
调用。。。或者只是将csv拆分为三个单独的文件。我必须在不更改csv文件的情况下执行此操作。我想将其加载到一个表中,然后将各个部分复制到它们的适当位置是最好的解决方案。谢谢