私はかなりの時間を過ごしましたが、これは私が探しているものの正しい方向に向いているとは思えません。私の.csvファイルの問題は、ラインターミネータは ',,,,'ですが、いくつかの行にはこれが含まれていないので、ファイルをインポートすると、これらのファイルのいずれかに到達するまでは正常ですが、それを処理します標準レコードが持つべき列の長さの約2倍の1つのレコードとして、それからその時点からスローされます。私がする必要があるのは、正しい数の列(15)を超えるレコード( ',,,,'終端間のデータ)をスキップすることです。私はこれが本質的に2つのレコードをスキップすることに気づくでしょう。しかし、それはかなり大きなデータセットでやっていることを目的としています。MySQLロードデータInFile;スキップ行IF
私はIGNOREキーワードを見つけましたが、それは当てはまりません。私が探しているものは、次のようなものです。インポート中の各レコードについては、record.columns.count> 15の場合はレコードをスキップします。ここにインポート・ステートメントがあります。
LOAD DATA LOCAL INFILE "/Users/foo/Desktop/csvData.csv"
INTO TABLE csvData
COLUMNS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY ',,,,';
@Bill Karwinこのタグを付けてくれてありがとう。 –