Maison >base de données >tutoriel mysql >Comment mettre à jour en masse des entrées MySQL avec des valeurs spécifiques à l'aide de CASE ?

Comment mettre à jour en masse des entrées MySQL avec des valeurs spécifiques à l'aide de CASE ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-10 12:55:03290parcourir

How to Mass Update MySQL Entries with Specific Values Using CASE?

Mise à jour en masse des entrées MySQL avec CASE pour de nouvelles valeurs

Dans MySQL, la mise à jour d'une entrée à l'aide de l'expression CASE vous permet d'attribuer une valeur différente à une colonne basée sur une condition spécifique. Pour corriger la requête fournie, supprimez la virgule après le mot-clé set et formatez l'expression CASE comme suit :

UPDATE ae44
SET price = CASE
    WHEN ID = 'AT259793380' THEN
        '500'
    WHEN ID = 'AT271729590' THEN
        '600'
    WHEN ID = 'AT275981020' THEN
        '700'
END

Cette requête mettra à jour les prix correspondants pour les ID spécifiés. Cependant, il est important de noter qu'il définira également la valeur du prix sur NULL pour tous les enregistrements dont les ID ne sont pas inclus dans l'expression CASE.

Si vous souhaitez mettre à jour uniquement les prix des ID spécifiques de votre list, utilisez une requête comme celle-ci :

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

Cette requête utilise une sous-requête pour créer une table avec les anciennes et les nouvelles valeurs des ID, puis elle joint cette table avec la ae44 et effectue la mise à jour uniquement sur les enregistrements correspondants.

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!

Déclaration:
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