0

プリペアドステートメントを使用して、前のクエリからフェッチされた行ごとに1つのINSERTクエリを使用してループを作成したいと思います。より視覚的な方法で:


  フェッチ中にクエリ
を作成     -新しいクエリを作成

動作を継続するためにステートメントが必要なため、ステートメントを閉じることができません...問題は、preparedステートメントを使用する場合、新しいprepare()を実行する前にすべてのデータをフェッチする必要があることです。だから、どうすればこれを行うことができますか?おそらくステートメントなしですが、それは良い解決策ではありません。

4

1 に答える 1

1

これを行おうとすると、DBを強制終了します(DBAがある場合は、DBAが強制終了します)。問題は、行ごとに1つのインサー要求をデータベースに送信することです。データの各行に対して、これらすべてのコマンドを何度も作成して破棄する必要があります。それは高価です。

あなたがそれをすることに固執しているなら、最初から読むループ内に(もちろん異なる名前で)2番目のプリペアドステートメントを作成することを妨げるものは何もありませんが、私はそれに対して強くお勧めします。少なくとも、受信データをバッファリングし、一度に数百行を挿入します。

于 2012-10-27T18:50:00.330 に答える