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

时间:2014-04-22 23:59:00

标签: mysql sql bulkinsert load-data-infile

我正在尝试将数据加载到我的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。它对我不起作用。

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

7 个答案:

答案 0 :(得分:3)

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

的摘录
  

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

     

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

     

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

问候。

答案 1 :(得分:3)

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

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

我可以说非常感谢。

P.S。不要在ytb上浪费时间......

答案 2 :(得分:1)

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

  1. 添加“LOCAL”关键字
  2. 将双反斜杠“\\”添加到文件夹路径
  3. 如果文本文件的第一行有列名,则添加“IGNORE 1 LINES”。

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

尝试将week.txt文件移至桌面

然后在终端窗口中执行:

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

答案 5 :(得分:0)

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

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
//add your rating view code here
let ratingVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "rating") as! RatingView
ratingVC.foodName = self.menuItems[indexPath.row] //get the selected item
self.addChildViewController(ratingVC)
ratingVC.view.frame = self.view.frame
self.view.addSubview(ratingVC.view)
ratingVC.didMove(toParentViewController: self)

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

答案 6 :(得分:0)

代替使用双反斜杠,该斜杠也对我有用。