Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

I am trying to load data into a table of my MySQL database, and getting this error.

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

Reference: this

The path is hundred percent correct, I copied it by pressing shift and clicking "copy path as" and checked it many times. So any tips on this will be much appreciated. . My research: Seeing this answer, I tried by changing C:\Users to C:\\Users. It did not work for me.

Secondly, is there a way to use some kind of a relative path (rather than an absolute path) here?

like image 300
Solace Avatar asked Apr 22 '14 23:04

Solace


3 Answers

I spent 2 days on this and finally got my mistake, Just changing backslashes by forward ones, as one contributor previously said. And finally worked for me. so was:

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

I just can say thanks a lot.

p.s. don't waste time on ytb...

like image 189
Mario Vandeersar Avatar answered Oct 01 '22 15:10

Mario Vandeersar


I don't know what version of MySQL you are using but a quick Google search found possible answers to both your questions. Below are excerpts from the MySQL 5.1 Reference Manual:

The file name must be given as a literal string. On Windows, specify backslashes in path names as forward slashes or doubled backslashes

The LOCAL keyword affects where the file is expected to be found:

If LOCAL is specified, the file is read by the client program on the client host and sent to the server. The file can be given as a full path name to specify its exact location. If given as a relative path name, the name is interpreted relative to the directory in which the client program was started.

Regards.

like image 41
FumblesWithCode Avatar answered Oct 01 '22 15:10

FumblesWithCode


If using MySQL Workbench on a local Windows PC to connect to a remote MySQL server,

  1. Add the "LOCAL" keyword
  2. Add double backslashes "\\" to your folder path

If text file's first row has column names add "IGNORE 1 LINES".

LOAD DATA LOCAL INFILE 'C:\\MyTabDelimited.txt'
INTO TABLE my_table IGNORE 1 LINES;
like image 43
SushiGuy Avatar answered Oct 01 '22 16:10

SushiGuy