正在将CSV文件上载到MySQL,但表中未显示一个字段

正在将CSV文件上载到MySQL,但表中未显示一个字段,mysql,linux,shell,csv,redhat,Mysql,Linux,Shell,Csv,Redhat,将csv文件上载到mysql表时,表中将显示除一个字段外的所有字段。当我对这一列执行select distinct时,只显示空格和字段的标题。 但是,当通过外部工具PBi查看表格时,会显示字段,但其值似乎不正确 在上传之前,我仔细检查了操纵csv文件的脚本,它似乎工作正常。 我从AWS的csv开始,并对其进行操作,以获得我需要的列。 在通过下面的bash命令上传csv之前,我可以单独检查每一列,并查看值是否正确 [KL@SERVER]$awk -F , {print $FIELDNUM} FIL

将csv文件上载到mysql表时,表中将显示除一个字段外的所有字段。当我对这一列执行select distinct时,只显示空格和字段的标题。 但是,当通过外部工具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命令替换它,您应该会表现良好。

当您运行awk命令时,您是否获得了所需的结果?你也能把它贴出来吗?尝试使用placement值而不是var name并添加记号{print$1}嗨,我确实按照您建议的方式运行awk命令。{打印$1}如果不清楚,我道歉。出现的结果是该字段的预期结果。不幸的是,我不能发布实际结果,因为它是保密的,但结果的模式如下AB123 CD456EF789@Sudosu0上面的格式很奇怪,但是空格应该是新行。我刚刚意识到我可以运行另一个看起来有效的查询。选择不同的$COLUMNNAME,其中$COLUMNNAME2类似于“%abc123%”;这似乎可行,但当我没有%符号时,它就不起作用了。数据库中的空格必须存在问题