mysql - 从 CSV 加载数据时遇到错误时,是否有办法跳过行? (错误代码: 1261)

标签 mysql sql csv load-data-infile

我正在使用 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

最佳答案

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

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

关于mysql - 从 CSV 加载数据时遇到错误时,是否有办法跳过行? (错误代码: 1261),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58902466/

相关文章:

具有键/值对的 MySQL 表,获取键作为列名

php - 如何使用 Cakephp2 制定将数据与 SQL 分离的逻辑?

excel - 为什么 PowerShell 不想将我的文件另存为 CSV

python - 为什么在这个简单的基准测试中 SQLite 比 Redis 快?

php - 如何为用户 ID 启动 session

json - 使用 React DropZone 将 CSV 转换为 JSON 客户端

python - 尝试将对象转换为字符串时,TypeError 列表对象不可调用

php - SQL查询使值单调?

mysql - mysql上的sql关于join

mysql - 更新内连接 SQL