CASE WHEN ステートメントを使用して MySQL データベース内の特定の行を更新するには、正しい構文に従う必要があります。 ID 値に基づいて価格を更新しようとする提供されたクエリは、CASE ステートメントの誤った使用法を示しています。
これを解決するには、正しい更新クエリは次のようにする必要があります:
UPDATE ae44 SET price = CASE WHEN ID = 'AT259793380' THEN '500' WHEN ID = 'AT271729590' THEN '600' WHEN ID = 'AT275981020' THEN '700' END;
この修正されたクエリでは、次の点に注意してください。
CASE ステートメントを使用して行を更新すると、特定の条件に基づいて異なる値を割り当てる場合に便利です。ただし、提供されたクエリは、ID に関係なく、すべてのレコードの価格を更新することに注意することが重要です。クエリで指定された特定の ID のみを更新することが目的の場合は、次のアプローチを使用できます:
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;
以上が値の割り当てに CASE を使用して MySQL の行を正しく更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。