MySQL LOAD DATA错误(错误代码:2 - “没有这样的文件或目录”)

问题描述 投票:4回答:6

我试图将数据加载到我的MySQL数据库的表中,并得到此错误。

LOAD DATA LOCAL INFILE 'C:\Users\Myself\Desktop\Blah Blah\LOAD DATA\week.txt' 
INTO TABLE week;

参考:this

路径百分百正确,我通过按shift并单击“复制路径为”复制它并多次检查。所以任何关于此的提示都将非常感激。 。我的研究:看到this答案,我尝试将C:\Users改为C:\\Users。它对我不起作用。

其次,有没有办法在这里使用某种相对路径(而不是绝对路径)?

mysql sql bulkinsert load-data-infile
6个回答
3
投票

我不知道您使用的MySQL版本,但快速的Google搜索找到了您的问题的可能答案。以下是MySQL 5.1 Reference Manual的摘录:

文件名必须以文字字符串形式给出。在Windows上,将路径名中的反斜杠指定为正斜杠或加倍反斜杠

LOCAL关键字会影响预期找到文件的位置:

如果指定了LOCAL,则客户端主机上的客户端程序将读取该文件并将其发送到服务器。该文件可以作为完整路径名提供,以指定其确切位置。如果以相对路径名的形式给出,则相对于启动客户端程序的目录解释名称。

问候。


3
投票

我花了两天的时间在这上面,最后弄错了我的错误,只是改变前向的反斜杠,正如一位撰稿人先前所说的那样。最后为我工作。所以是:

LOAD DATA LOCAL INFILE 'C:/ProgramData/MySQL/MySQL Server 5.7/Data/menagerie/pet.txt' INTO TABLE pet;

我可以说非常感谢。

附:不要在youtube上浪费时间......


1
投票

如果在本地Windows PC上使用MySQL Workbench连接到远程MySQL服务器,

  1. 添加“LOCAL”关键字
  2. 在文件夹路径中添加双反斜杠“\\”

如果文本文件的第一行有列名添加“IGNORE 1 LINES”。

LOAD DATA LOCAL INFILE 'C:\\MyTabDelimited.txt'
INTO TABLE my_table IGNORE 1 LINES;

0
投票

尝试从查询中删除单词LOCAL


0
投票

尝试将week.txt文件移动到桌面

然后在终端窗口中执行:

LOAD DATA LOCAL INFILE 'C:\Users\Myself\Desktop\week.txt' 
INTO TABLE week;

0
投票

只需用路径中的斜杠替换反斜杠即可。这适用于我(Win 10上的MySQL Workbench 6.3):

LOAD DATA LOCAL INFILE 'C:/Users/Myself/Desktop/Blah Blah/LOAD DATA/week.txt' 
INTO TABLE week;

参考。 https://dev.mysql.com/doc/refman/5.5/en/loading-tables.html

© www.soinside.com 2019 - 2024. All rights reserved.