Maison >base de données >tutoriel mysql >Comment puis-je mettre à jour plusieurs lignes MySQL avec des valeurs différentes dans une seule requête ?

Comment puis-je mettre à jour plusieurs lignes MySQL avec des valeurs différentes dans une seule requête ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-17 11:07:10534parcourir

How Can I Update Multiple MySQL Rows with Different Values in a Single Query?

Mettre à jour efficacement plusieurs lignes MySQL avec différentes valeurs

La gestion des bases de données nécessite souvent la mise à jour de plusieurs lignes avec des valeurs uniques. MySQL offre une solution efficace utilisant l'instruction UPDATE en conjonction avec les expressions CASE.

Résolution des mises à jour conditionnelles

Le défi réside dans la mise à jour des lignes en fonction de diverses conditions. Imaginez un tableau avec les rôles d'utilisateur, les identifiants et les codes de bureau ; vous devez mettre à jour les identifiants des utilisateurs en fonction de leur rôle et de leur fonction.

Exploiter les expressions CASE

Les expressions CASE de MySQL permettent d'attribuer différentes valeurs en fonction de conditions. Cela répond parfaitement au besoin de mises à jour conditionnelles.

Mise en œuvre de la solution

La syntaxe suivante met à jour plusieurs lignes avec des valeurs distinctes basées sur plusieurs critères :

<code class="language-sql">UPDATE table_name
SET column_name = (
    CASE
        WHEN condition1 THEN value1
        WHEN condition2 THEN value2
        ...
    END
),
column_name2 = value2
WHERE condition;</code>

Exemple illustratif :

Mettons à jour les colonnes cod_user et date pour différents rôles d'utilisateur au sein d'un bureau spécifique :

<code class="language-sql">UPDATE table_users
SET cod_user = (
    CASE
        WHEN user_role = 'student' THEN '622057'
        WHEN user_role = 'assistant' THEN '2913659'
        WHEN user_role = 'admin' THEN '6160230'
    END
),
date = '12082014'
WHERE user_role IN ('student', 'assistant', 'admin') AND
cod_office = '17389551';</code>

Considérations importantes :

  • Maintenir la cohérence des types de données (dates, nombres, etc.).
  • Développez les expressions CASE pour gérer davantage de conditions selon vos besoins.
  • Cette approche rationalise les mises à jour, améliorant ainsi l'efficacité et l'intégrité des données.

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