0

文字列になっている csv レポートを取得しました。

eg ->
$report="date,pageview,clicks
2012-07-01,229316,16739
2012-07-02,295238,19582
2012-07-03,278505,17805
2012-07-04,209455,15146
2012-07-05,250756,17206";

このデータをmysqlデータベースに保存したいのですが、実際$reportのサイズが非常に大きいため、最適化されたソリューションは得られません。

4

2 に答える 2

6

PHP を使用して CSV ファイルをインポートし、データを MySQL に送信するのを忘れてください。最適化されたソリューションを使用LOAD DATA INFILEしてデータを直接ロードするために、データが必要なものとまったく異なる場合は、一時テーブルを使用できます。

例 :

LOAD DATA INFILE '<yourcsv>' INTO TABLE <yourtable>
FIELDS TERMINATED BY ','
IGNORE 1 LINES;

警告- 入力ファイルは MySQL サーバーでローカルに利用できる必要があります

于 2012-07-09T08:52:52.283 に答える
0

fgetcsv配列形式でレコードを 1 つずつ読み取るを 使用します。http://php.net/manual/en/function.fgetcsv.php

于 2012-07-09T08:56:11.810 に答える