【问题标题】:LOAD DATA INFILE error加载数据输入错误
【发布时间】:2012-02-06 12:30:40
【问题描述】:

我有从 access 导出的 csv 文件。 (日期格式化以匹配 mysql)

我需要通过代码将数据导入mysql数据库。

当我通过 PhpMyAdmin 导入文件时,它运行良好。

$fname = $_FILES['sel_file']['name'];
$filename = $_FILES['sel_file']['tmp_name'];
$sql="LOAD DATA INFILE '../filepath/data.txt' INTO TABLE table1 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"';";
 mysql_query($sql)or die(mysql_error());

我尝试使用文件路径或使用变量 $filename 都给了我同样的错误

我收到以下错误:

用户 'uname'@'%' 的访问被拒绝(使用密码:YES) 我将权限设置为 777,创建的数据库允许直接访问。 (我可以使用“INSERT”语句加载文件并从中读取,但不能加载数据。)

A.是不是 LOAD DATA 语句错了?

B.为了使用 LOAD DATA 命令,我还需要注意哪些其他事项。

谢谢大家!

【问题讨论】:

    标签: php mysql sql csv import


    【解决方案1】:

    尝试加载数据本地 INFILE

    【讨论】:

    • 中提琴!那做了一些事情。谢谢!现在我必须确保数据按应有的方式输入……我真的很感激!本地是什么意思?
    • 您正在尝试从客户端上传内容。所以你必须使用 LOCAL 关键字。如 mysql 站点中所述 - 如果指定了 LOCAL 关键字,则根据连接的客户端进行解释。
    【解决方案2】:

    可能是身份验证问题。请检查 mysql 中导入/导出数据的权限。

    【讨论】:

    • 据我所知权限应该没问题。我可以通过文件循环导入数据并使用 INSERT 语句,但这太慢了。您能否更具体地说明我应该检查哪些权限?
    • @NinaNa:请查看link
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-14
    • 2011-05-12
    • 1970-01-01
    • 2018-06-07
    • 1970-01-01
    • 2014-11-25
    • 2012-02-15
    相关资源
    最近更新 更多