最近、データベース テーブル内の特定のフィールドをバッチ更新する必要があり、これを実行するときに、PDO バインディングが使用されました。 。
著者は、バッチ更新に関する次の解決策を知っています:
1. 項目ごとに更新します
これは最も単純な解決策ですが、最も効率が悪いのは間違いありません。
2.場合
次のような文
リーリーSQL インジェクションを防ぐために、PDO 拡張バインディング パラメーターが使用されます。上記の数値は通常変数であるため、パラメーターのバインドが必要です。最初は、IDで構成された文字列をIN時に変数としてバインドすることを考えました。最初の実装のコードは次のとおりです。 リーリー
後になって、これは機能しないことがわかりました。奇妙なことに、この方法では最初のレコードのみを更新できるということです。情報を調べたところ、このバインド方法は実行可能ではなく、IN ステートメントのパラメータを 1 つずつバインドする必要があることがわかりました。ドキュメントのbindParam関数の説明を見てください:
修正された文章:
リーリー
まとめ
参考リンク:
mysqlステートメント: 複数のレコードの異なる値をバッチ更新します
配列を IN() 条件にバインドできますか?
限られた文体と限られた知識によるオリジナル記事 記事内に何か間違っている点がございましたら、お知らせください。
この記事が役に立った場合は、「おすすめ」をクリックしてください。記事を書くのは簡単ではありません。
を使用します。