【发布时间】:2020-03-13 02:36:24
【问题描述】:
我正在使用 MySQL 将 1000 万行以上的行从 CSV 文件加载到数据库中。不幸的是,每次我尝试它时它都会返回一个错误(“第 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
【问题讨论】:
-
没有官方方法可以跳过它。我假设该行包含错误的数据,因此无法插入。您能否添加创建表 DDL 和该 csv 的虚假行以及之前和之后的一些其他行作为示例?我认为该行周围有一个魔术/隐藏或可能未转义的字符。
标签: mysql sql csv load-data-infile