繁体   English   中英

MySQL 加载数据错误(错误代码:2 - “没有这样的文件或目录”)

[英]MySQL LOAD DATA Error (Errcode: 2 - "No such file or directory")

我正在尝试将数据加载到我的 MySQL 数据库的表中,但出现此错误。

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

参考: 这个

路径百分百正确,我通过按住shift并点击“复制路径为”来复制它并检查了很多次。 因此,对此的任何提示将不胜感激 . 我的研究:看到这个答案,我尝试将C:\Users更改为C:\\Users 它对我不起作用。

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

我花了 2 天的时间来解决这个问题,终于弄错了,正如一位贡献者之前所说的那样,只是将反斜杠改为正斜杠。 最后为我工作。 也是:

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

我只能说非常感谢。

ps不要在ytb上浪费时间...

我不知道您使用的是哪个版本的 MySQL,但通过 Google 快速搜索可以找到您的两个问题的可能答案。 以下是MySQL 5.1 参考手册的摘录:

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

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

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

问候。

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

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

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

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

只需在路径中用斜杠替换反斜杠即可。 这对我有用(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

尝试从您的查询中删除LOCAL一词。

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

然后在终端窗口中执行:

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

而不是使用双反斜杠那个斜杠也对我有用。

我通过替换路径解决了这个问题

替换格式"C:\\Users\\Myself\\Desktop\\week.txt"

使用这种不同的格式"C:/Users/Myself/Desktop/week.txt"

我的电脑无法识别( \\ )符号。

此类错误的另一个原因是路径中的另一种语言。 您可能几乎拥有英文的整个路径,但用户名可能会自动填充为另一种语言。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM