我有一个11列的CSV文件和一个9列的MySQL表.

CSV文件如下所示:

col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11

MySQL表如下所示:

col1, col2, col3, col4, col5, col6, col7, col8, col9

我需要将CSV文件的1-8列直接映射到MySQL表的前8列.然后我需要跳过CSV文件中接下来的两列,然后将CSV文件的第11列映射到MySQL表的第9列.

目前,我正在使用以下SQL命令:

LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE my_table
FIELDS TERMINATED BY ','
ENCLOSED BY ''
LINES TERMINATED BY '\n'

但是上面的代码将CSV文件的前9列映射到MySQL表中的9列.

推荐答案

From Mysql docs:

也可以通过以下方式放弃输入值:

LOAD DATA INFILE 'file.txt'  
INTO TABLE t1 (column1, @dummy, column2, @dummy, column3);

Mysql相关问答推荐

MySQL 8.0.28覆盖(和函数)索引未使用

一次又一次地删除事件行

了解查询中ORDER BY的行为

Mysql,从两个不同的表中添加原始数据,从第一个表中获取所有内容,仅从第二个表中获取curdate内容

如果存在N个特殊行,如何 Select 它们,其余的必须填充常规行,总行数不能超过MySQL中的X行?

仅当 SELECT 语句在 MySQL 中给出空集时才执行 UPDATE 语句

如何从具有第一行列值的表中 Select 客户的最新记录

当查询 MySQL 的 goroutine 过多时,Go 会出现panic

如何创建一个判断行是否存在的mysql查询-如果存在我想插入一条新记录,否则增加一个值

MySQL 1292 截断不正确的日期时间值:'2020-09-11T08:32-50Z'

如何过滤表格,以便它显示最新的数据?

Laravel $q->where() 日期之间

在 MySQL 的存储过程中调用存储过程

将 MySQL 查询的输出转换为 utf8

如何从 MySQL Workbench 中的图表生成 SQL 脚本?

哪个更好 - 许多小桌子或一张大桌子?

将 MySQL 数据库置于版本控制之下?

启用 NO_BACKSLASH_ESCAPES 选项时如何转义文字百分号?

警告:mysqli_connect(): (HY000/1045): Access denied for user 'username'@'localhost' (using password: YES)

如何将本地托管的 MySQL 数据库与 docker 容器连接