新しい値の CASE による MySQL エントリの一括更新
MySQL では、CASE 式を使用してエントリを更新すると、別の値を割り当てることができます特定の条件に基づいて列に追加されます。指定されたクエリを修正するには、set キーワードの後のカンマを削除し、CASE 式を次のようにフォーマットします。
UPDATE ae44 SET price = CASE WHEN ID = 'AT259793380' THEN '500' WHEN ID = 'AT271729590' THEN '600' WHEN ID = 'AT275981020' THEN '700' END
このクエリは、指定された ID に対応する価格を更新します。ただし、CASE 式に含まれていない ID を持つレコードの価格値も NULL に設定されることに注意することが重要です。
リストを作成するには、次のようなクエリを使用します。
UPDATE ae44 JOIN ( SELECT 'AT259793380' AS oldval, '500' AS newval UNION ALL SELECT 'AT271729590' AS oldval, '600' AS newval UNION ALL SELECT 'AT275981020' AS oldval, '700' AS newval ) q ON ae44.id = q.oldval SET price = q.newval
このクエリは、サブクエリを使用して ID の古い値と新しい値を含むテーブルを作成し、このテーブルをae44 テーブルを検索し、一致するレコードに対してのみ更新を実行します。
以上がCASE を使用して特定の値を持つ MySQL エントリを一括更新する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。