Maison > base de données > tutoriel mysql > le corps du texte

Comment mettre à jour correctement les lignes dans MySQL à l'aide de CASE pour l'attribution de valeur ?

Mary-Kate Olsen
Libérer: 2024-11-14 10:30:02
original
185 Les gens l'ont consulté

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

Mise à jour des lignes dans MySQL à l'aide de CASE pour l'attribution de valeurs

Afin de mettre à jour des lignes spécifiques dans une base de données MySQL à l'aide de l'instruction CASE WHEN , la syntaxe correcte doit être suivie. La requête fournie, qui tente de mettre à jour les prix en fonction des valeurs d'ID, démontre une utilisation incorrecte de l'instruction CASE.

Pour résoudre ce problème, la requête de mise à jour correcte doit être la suivante :

UPDATE ae44
SET price =
CASE
    WHEN ID = 'AT259793380' THEN
        '500'
    WHEN ID = 'AT271729590' THEN
        '600'
    WHEN ID = 'AT275981020' THEN
        '700'
END;
Copier après la connexion

Dans cette requête corrigée, notez que :

  • L'instruction CASE WHEN est correctement structurée avec un WHEN individuel clauses.
  • L'affectation de la nouvelle valeur se fait à l'aide de la syntaxe :=.
  • La requête se termine par un point-virgule (;).

Mise à jour des lignes à l'aide de CASE L'instruction peut être utile lors de l'attribution de différentes valeurs en fonction de conditions spécifiques. Cependant, il est important de noter que la requête fournie mettra à jour les prix de tous les enregistrements, quel que soit leur ID. Si l'objectif est de mettre à jour uniquement les identifiants spécifiques mentionnés dans la requête, l'approche suivante peut être utilisée :

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;
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal