【问题标题】:No results from mysql table populated by load data... from a csv file加载数据填充的 mysql 表没有结果...来自 csv 文件
【发布时间】:2014-04-30 04:13:17
【问题描述】:

问题:在 WINDOWS 机器上,如何编写加载数据命令。我在哪里输入'\r\n'?

我将一个 csv 文件加载到数据库表中,见下文

 mysql> load data local infile 'c:/STDDocJ.csv' into table 3rd_wave.productsbrand
 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"';

我可以在 phpmyadmin 的表格中看到填充的数据。我可以看到数据,没问题。 看起来不错吧? Screenshot how it looks in table

所以我运行一个查询:

SELECT `products_status`FROM `productsbrand`
WHERE `products_status` = 'OOS'

应该返回超过 50 个结果,但返回的是空结果。

如果我手动将订单项添加到表格中,它会起作用。 所以一定是Load函数的问题。 我在 StackOverflow 中找到了部分解决方案,但没有看到确切的语法。 Stackoverflow partial solution

我认为这与使用 Window 机器有关。见:

所以我将 FIELDS TERMINATED BY ',' 替换为: 由“\r\n”终止的字段 这将两条信息放在同一列中。 看这里Doubled Up

它应该是单独的列,就像电子表格一样。

所以问题仍然存在,在 WINDOWS 机器上如何编写加载数据命令。我在哪里输入'\r\n'?

 mysql> load data local infile 'c:/STDDocJ.csv' into table 3rd_wave.productsbrand
 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"';   

【问题讨论】:

    标签: mysql csv


    【解决方案1】:

    抱歉,“它是否已插入”问题,但在对表运行查询之前,请先确保您使用的是插入的 3rd_wave 数据库。 (“使用 3rd_wave”来自 mysql CLI)

    让我感到震惊的另一件事是,您在查询中使用 LIKE 时没有任何通配符。如果您想要完全匹配,那么这已经是正确的,否则请查看查询的这一部分并将其更改为允许更模糊的字符串匹配。

    【讨论】:

    • 谢谢,但查询没有问题。如果数据是手动添加的,它工作正常。这是使用 Load 命令填充的数据的问题。不过谢谢。凯伦
    猜你喜欢
    • 1970-01-01
    • 2014-09-22
    • 1970-01-01
    • 1970-01-01
    • 2020-08-07
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    • 2012-12-26
    相关资源
    最近更新 更多