当从CSV加载数据时遇到错误时,是否可以跳过行? (错误代码:1261)

问题描述 投票:0回答:1

我正在使用MySQL从CSV文件将1000万以上的行加载到数据库中。不幸的是,每次我尝试它都会返回一个错误(“ Row 3816836并不包含所有列的数据”)。我已经下载了可以可视化大型CSV的软件,据我所知,数据没有任何问题。在某些列中缺少值(成功加载的数百万行中的大多数都存在)。该表设置为NULL默认值。因此,我对如何成功加载数据一无所知。

是否可以跳过这一行!?加载过程中的任何错误处理将不胜感激。

USE data;
LOAD DATA INFILE "data.csv"
INTO TABLE master
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS
mysql sql csv load-data-infile
1个回答
0
投票

虽然从技术上讲这不是我所问问题的解决方案,但我已经在短期内解决了这个问题。我使用Python提取行,并添加了两个单独的CSV(在问题行之前和之后)。能够查看问题行,这似乎是因为一个单独的“ /”。删除此行使我可以单独添加该行。

这是解决问题的一种方法!

© www.soinside.com 2019 - 2024. All rights reserved.