-1

さて、私はこのSQLを持っています:

LOAD DATA LOCAL INFILE 'path/file.csv' INTO TABLE episodes FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (title, link, date_aired, season, series_id)

phpmyadmin で実行すると正常に動作します。csv からテーブルにレコードを非常に高速にロードします。そのため、これを 1 日に数回行う必要があるため、cron ジョブを作成することにしました。したがって、テストするために、このSQLをphpスクリプトに入れて、cronを使用して実行できるようにします。しかし、ここに問題があります。スクリプトを手動で実行して、機能するかどうかを確認しました。実際、データをテーブルに挿入すると機能しますが、スクリプトはまだ実行されており(ページはまだロード中です)、必要なことを実行しました。そのため、さらに数分放置しましたが、まだロード中です。そのため、一種の無限ループに入ったように見えますが、スクリプトにはループはありません。これは、スクリプトのコードの重要な部分です。

$sql="LOAD DATA LOCAL INFILE 'path/file.csv' IGNORE INTO TABLE episodes FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\n' (title, link, date_aired, season, series_id)";
$query = mysql_query( $sql, $conn );

また、すべての文字を適切にエスケープし、クエリは機能しますが、ページは引き続き読み込まれます。これは他の cron ジョブに干渉しますか? 特定のタイムアウト値を設定する以外に、どうすればこれを停止できますか。

4

1 に答える 1