mySQL 命令行导入 CSV 给我 NULL

标签 mysql csv

我习惯使用 PHPmyadmin 来管理我的 mySQL 数据库,但我开始更多地使用命令行。我正在尝试将 CSV 文件导入到名为 source_data 的表中,如下所示...

+-----------+-------------+------+-----+---------+----------------+
| Field     | Type        | Null | Key | Default | Extra          |
+-----------+-------------+------+-----+---------+----------------+
| id        | int(11)     | NO   | PRI | NULL    | auto_increment |
| code      | varchar(10) | YES  |     | NULL    |                |
| result    | char(1)     | YES  |     | NULL    |                |
| source    | char(1)     | YES  |     | NULL    |                |
| timestamp | varchar(30) | YES  |     | NULL    |                |
+-----------+-------------+------+-----+---------+----------------+

我的 CSV 文件看起来像这样......

code,result,source,timestamp
123 ABC,,,
456 DEF,,,
789 GHI,,,
234 JKL,,,
567 MNO,,,
890 PQR,,,

我正在使用这个命令..

LOAD DATA INFILE '/home/user1/data.csv' INTO TABLE source_data FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

这会插入正确数量的行,但每一行都显示 NULL,我哪里出错了?

最佳答案

由于 CSV 文件不包含所有表格列(它缺少 id 列),您需要明确指定应写入的列。

LOAD DATA INFILE '/home/user1/data.csv' 
INTO TABLE source_data 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n' 
IGNORE 1 ROWS
(code, result, source, timestamp);

关于mySQL 命令行导入 CSV 给我 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35903206/

相关文章:

php - Malihu 自定义滚动条 Ajax 内容 .mCSB_container 宽度未更新

php - 如何检查 MySQL 查询中是否存在数组中的值

javascript - 在.NET MVC JQuery Ajax中调用下载数据为.csv

MySQL,在单个查询中将一项与多项结合起来

javascript - axios Get 请求问题

mysql - 烦人的 PhpMyAdmin 导出功能

csv - Univocity - 不规则的 csv 解析

MySQL 无法添加或更新子行

PHP 加载不带文件名的 CSV

php - 我的 PHP 代码出现在导出的 CSV 文档中