値の割り当てに CASE を使用して MySQL の行を正しく更新するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-14 10:30:02
オリジナル
185 人が閲覧しました

How to Correctly Update Rows in MySQL Using CASE for Value Assignment?

値の割り当てに CASE を使用して MySQL の行を更新する

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 WHEN ステートメントは、個々の WHEN 句で適切に構造化されています。
  • 新しい値の割り当ては、:= 構文を使用して行われます。
  • クエリはセミコロン (;) で終わります。

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート