mysql - 将 CSV 文件上传到 MySQL 但有一个字段未显示在表中

标签 mysql linux shell csv redhat

将csv文件上传到mysql表时,除了一个字段外,所有字段都会出现在表中。当我在该列上执行不同的选择时,只会显示空白和字段标题。
但是,当通过外部工具 (PBi) 查看表格时,该字段会显示,但其中的值似乎不正确。

我在上传之前仔细检查了处理 csv 文件的脚本,它似乎工作正常。
我从 AWS 的 csv 开始,然后对其进行操作以找到我需要的列。
在通过下面的 bash 命令上传 csv 之前,我可以单独检查每一列并查看值是否正确。

[KL@SERVER]$awk -F , {print $FIELDNUM} FILE

用于上传文件的代码在已建立连接的服务器的 MySQL 中运行。

LOAD DATA LOCAL INFILE
'FILEPATH'
INTO TABLE TABLENAME
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(field1,field2,field3,etc);

当从数据库表中查询不同的 FIELDNAME 时,这会导致 FIELDNAME 字段为空白 查询以某种方式选择了正确数量的不同值,它在集合中显示了 189 行。但由于某种原因,实际结果是空白的。 我希望看到 FIELDNAME 的 189 个不同结果,例如当我对表中的任何其他列执行 select distinct 时。

最佳答案

对于将来使用 linux 将 csv 上传到 mysql 的任何人。我发现 csv 中有一个 ^M 字符,大多数文本编辑器都看不到它。在上传到 mysql 之前使用 tr 命令替换它,你应该很好。

关于mysql - 将 CSV 文件上传到 MySQL 但有一个字段未显示在表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58226888/

相关文章:

MySQL 项目设计 - 根据另一个选择查询中的行从一个表中进行条件选择

PHP 用我的案例显示数据

linux - 如何在 sed 中使用单引号和双引号变量

python - 有好的 Python GUI shell 吗?

javascript - 将 JSON 文件传递​​到 php 服务器,然后将其中的数据保存到 Mysql DB

php - 此 SQL 查询中的语法错误是什么?

linux - LF --> UTF-16 文件的 CR/LF 转换

linux - 我可以从一个网络数据实例监控四台服务器吗?

linux - 在 linux 终端中输出彩色命令后,我的命令行变色了

regex - 如何在 bash 中替换字符串中的模式