次のコマンドを使用して、mysqlデータベースにCSVをロードしようとしています。
LOAD DATA LOCAL INFILE '\Users\userName\Downloads\tableName.csv'
INTO TABLE tableName
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
しかし、私はこのエラーを受け取ります:
ERROR 2 <HY000>: File 'UsersuserNameDownloadstableName.csv' not found <Errocode: 2 - No such file or directory>
コマンドでmysqlにログオンします(ここで説明します MySQL import csv file ERROR 13(HY000):Ca n't get stat of /path/file.csv(Errcode:2) ):
mysql -u root -p --local-infile
上記のリンクで説明されていることを実行して、別のMySQLサーバー(Ubuntuを実行している別のマシン)にCSVをインポートすることができました。ただし、同じプロセスが、コマンドプロンプトを使用するWindowsマシン上の別のMySQL Serverインスタンスに対して機能していないようです。
これは私たちが扱っているWindowsなので、二重のバックスラッシュを使用します
LOAD DATA LOCAL INFILE 'C:\\Users\\userName\\Downloads\\tableName.csv'
INTO TABLE tableName
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
またはフォワードスラッシュ
LOAD DATA LOCAL INFILE 'C:/Users/userName/Downloads/tableName.csv'
INTO TABLE tableName
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
LOAD DATA INFILE
のMySQLドキュメントにそのように記載されています
ファイル名はリテラル文字列として指定する必要があります。 Windowsでは、パス名にバックスラッシュをフォワードスラッシュまたは二重のバックスラッシュとして指定します。 character_set_filesystemシステム変数は、ファイル名の解釈を制御します。