- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:csv出力した内容を配列で取得できますか?)
CSV出力の内容を配列で取得する方法について
このQ&Aのポイント
- データベースのテーブル内容をサーバー上にCSV出力した後、配列で取得する方法について質問です。
- 現在、PDOを利用してCSV出力した内容を配列で取得しようとしていますが、General Errorが発生しています。
- データ量が数十万件あるため、配列のループ処理が遅いと感じています。より効率的な方法があれば教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
流れ的にはこんな感じでどうでしょう? (1)テンポラリテーブルに未出力のデータidをはきだす (2)テンポラリに合致するデータをcsvに出力する (3)出力後テンポラリを元にデータテーブルのoutputカラムをアップデートする
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.1
>csv出力すると同時に出力した内容を配列で取得 普通にCSVデータをPHPで読めばいいのでは? >データ量が数十万件ある 数十万件のデータをそのまま配列でもってどうするつもりでしょう? データはCSVで担保されているのですから、わざわざプログラム的にもつ 意図がわかりません。メモリ的にも厳しい処理でしょうし なんらかの集計やデータ抽出が必要ならSQL側でやれば済むので・・・
質問者
お礼
ありがとうございます! csvで出力した行を「出力済み」というフラグでDBのカラムをUPDATEしたいのです。 例えばカラムが"id", "name", "output"となっていた場合、csvで出力した行の"output"を0から1にUPDATEしようと考えています。 なので SELECT id, name FROM tb INTO OUTFILE '/tmp.csv' としたidを配列で持てればそのidをWHEREに指定してUPDATEできると思ったのです。
お礼
遅くなってすみませんでした。 今試してみてうまくいきました! どうもありがとうございました!!