※ ChatGPTを利用し、要約された質問です(原文:LOAD DATA INFILE でエラー起きてデータを一括してロードできません。)
LOAD DATA INFILEでエラー発生!データを一括ロードできない問題
このQ&Aのポイント
WindowsXP Home、MySQL5.0.27を使用している際に、LOAD DATA INFILEを使用してテキストファイルのデータを一括でDBにロードしようとすると、エラーが発生します。
エラーの内容は、SQL構文のエラーであり、'escaped by '\'' 付近の行に問題があるようです。
エラーを解決するためには、'escaped by '\'' を削除することで解決できるようです。しかし、この方法では1行しかロードできません。全行をロードする方法についての教授をお願いします。
LOAD DATA INFILE でエラー起きてデータを一括してロードできません。
はじめまして。
質問があります。
現在WindowsXP Home、MySQL5.0.27を使用しているのですが、
テキストファイルのデータを一括でDBにロードしようとすると、
エラーが起きてしまいます。
------------------------ Demo01.txt --------------------------
1,あああ
2,いいい
3,ううう
------------------------ Demo01.sql ---------------------------
create table test
(
no integer not null,
name varchar(30),
primary key(no)
)type=InnoDB;
----------------------------------------------------------------
mysql> load data low_priority infile 'C:/Demo01.txt'
-> replace
-> into table test
-> fields terminated by ','
-> lines terminated by '/r/n'
-> escaped by '\\';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use : 'escaped by '\\'' 付近: 6 行目
----------------------------------------------------------------
上記のようなエラーが出てしまいますので、試しにescaped by '\\'
を削除して実行すると、
----------------------------------------------------------------
Query OK, 1 row affected (0.09 sec)
レコード数: 1 削除: 0 Skipped: 0 Warnings: 0
----------------------------------------------------------------
と表示され1行しかロードできません。どうしたら全行をロードするこ
とができるのでしょうか?どうかご教授お願いします。
お礼
fire--様へ 連絡が遅れましてすみませんでした。 ご回答ありがとうございました。 fire--様のご指摘の通りにしてみたら 最初は、同じエラーになっていたのですが、 データを作り直してから再び行って みたら、うまくいきました。 ありがとうございました。