1

こんにちは私はポイントにしようとしています。

Windowsでphpを使用してCSVmysqlatonceにアップロードしようとしています。だから私はクエリを使用しています

LOAD DATA INFILE 'c:/Data/mysql/transaction_upload.csv'
INTO TABLE transaction_upload
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\r\n';

csv全体をテーブルにロードします。

問題は:

  1. 条件は、テーブル"transaction_upload"がすでに存在している必要があることです。
  2. ヘッダーを含むcsvの最初の行もアップロードします。

最初の行をCSVから削除する必要があります。つまり、ヘッダーにDBのエントリを含めず、テーブルを自動的に作成し、名前をCSV_file_name、列をCSVの最初の行の列にします。

phpでCSVの最初の行を読んでテーブルを作成するので、最初の行を削除する問題がまだ残っているので、答えないでください。

4

1 に答える 1

3

IGNORE 1 LINESコマンドの最後に追加しますLOAD DATA

マニュアルにあるように:

このオプションを使用すると、ファイルの先頭の行を無視できます。たとえば、列名を含む最初のヘッダー行をスキップするために使用できます。IGNOREnumberLINESIGNORE 1 LINES

LOAD DATA INFILE'/tmp/test.txt' INTO TABLE test IGNORE 1 LINES;

テーブルがまだ存在しない場合、MySQLはエラーを発生させます。

于 2012-05-03T08:03:11.643 に答える