以下を使用して、各レコードの値が同じ場合にバッチ更新を行う方法を見つけました。
UPDATE tbl SET col1='foo1' WHERE id IN (1,2,3)
ID に一致するコンマ区切りの値の文字列がある場合、次のように値を異なる方法で更新するバッチ更新を実行できますか?
UPDATE tbl SET col1='1,0,1' WHERE id IN (1,2,3)
提案をありがとう:
編集:
このクエリにデータを送信する html ページは、次のようなチェックボックスで構成されています。
<input type="checkbox" name="id[]" value="1"><input type="hidden" name="col1[]" value=0>
<input type="checkbox" name="id[]" value="2"><input type="hidden" name="col1[]" value=1>
<input type="checkbox" name="id[]" value="3"><input type="hidden" name="col1[]" value=0>
など 20箱まで。
サーバー側では、投稿された配列は implode を使用してカンマ区切りの文字列に変換されるため、値は 1,0,1、ID は 1,2,3 の 2 つの文字列になります。ただし、ユーザーはこのページから最大 20 個のボックスをチェックできます。たぶん、どういうわけか配列を操作する必要があります。実際の例では、ID は 1、2、3 ではなく、ユーザーが何をチェックするかによって、221、433、512、600 などになる可能性があることに注意してください。