2010-12-14 23 views
2

下記のコードを使用してLOAD DATA LOCAL INFILEを使用してmysqlテーブルにデータをロードしようとしています。mysql load data local infile

のMySQL:

LOAD DATA INFILE '/var/www/vhosts/domain.com/httpdocs/test1.csv' INTO TABLE temp_table FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (recloc,client_acc) 

編集:LOADA DATA INFILE、削除セットID = nullに変更のLOAD DATA LOCAL INFILEは、1 LINES

私はエラーなしインポートされたレコードを取得していないんだがIGNORE追加しました。私はこの問題が列名に関連していると信じていますが、私はそれらの名前がどんなものであるべきかを完全に理解するのに苦労しています。それらはCSV内の実際の列名でなければなりませんか?またはDBテーブルのフィールド名?私はまた、auto_incremented主キー(ID)を持っていると思います。

CSV:

recloc,client_acc 
"NLGSX3","CORPORATE" 
"7SC3BA","QUALITY ASSURANCE" 
"3B9OHF","90717-6710" 

私が間違ってやっているかもしれないものへの任意の提案を?ありがとう!

答えて

2

CSVの列名は不要なので、IGNORE 1 LINES句を追加する必要があります。

クエリの列(recloc,client_acc)は、表の列と一致する必要があります。 CSVの最初の列はreclocに挿入され、2番目の列はclient_accに挿入されます。

ステートメントにAUTO_INCREMENT列を指定していないが、表にAUTO_INCREMENT列がある場合は、自動的に記入されます。 MySQLデータのインポートにExcelの

+0

削除、追加、 "1行は無視する"、まだ運 "ID = NULLを設定してください"。また、インポートスクリプトのディレクトリにCSVを保存していますが、サーバーパスも試しました。私はいくつかの種類のmysqlエラーを取得する必要はありませんか? –

+0

私はサーバーに保存されているファイルを使用しているので、より多くの研究の後、私はLOAD DATA LOCAL INFILEをLOAD DATA INFILEに変更しました。 –

0

ショートと甘いソリューション:txtファイル形式のために良い仕事

tbl name=t1 
feilds are= name varchar,email varchar; 

TEXT.TXTファイル< < ==このテキストファイル最初の行の表の列名:詳細に

name, email 
"n1", "e1" next line 
"n2", "e2" next line 
"n3", "e3" next line 
"n4", "e4" next line 
"n5", "e5" next line 
"n6", "e6" next line 
"n7", "e7" next line 

PLSは、次の行文にWAMPで SQLクエリを無視

LOAD DATA INFILE 'c:/wamp/www/touch/text.txt' INTO TABLE t1 FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES(name,email) 

このコマンドが正常に実行されるためには、個別にフォルダを作成する必要があります。 \ WAMP \ mysqlの\データ\ WAMP \ WWW \タッチの\ TEXT.TXT < < == pysicalファイルパスさ:

実一つが

Cです。

しかし、我々は言及C:/wamp/touch/text.txt

関連する問題