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

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

Mary-Kate Olsen
Libérer: 2025-01-17 11:11:09
original
870 Les gens l'ont consulté

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

Mettre à jour plusieurs lignes avec des valeurs différentes à l'aide d'une seule requête MySQL

L'opération de mise à jour de plusieurs lignes avec des valeurs différentes dans chaque ligne dans MySQL semble compliquée, mais c'est en fait très simple après compréhension. Voici comment procéder :

L'exemple de code suivant tente de mettre à jour trois lignes de la table 'table_users' en fonction de conditions spécifiques, avec des valeurs différentes pour les champs 'cod_user' et 'date'. Pour cela, nous utiliserons l'instruction 'UPDATE' avec les instructions 'CASE' et 'IN'.

La requête suivante effectue ces mises à jour :

<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 = '2014-08-12'
WHERE user_role IN ('student', 'assistant', 'admin')
  AND cod_office = '17389551';</code>
Copier après la connexion

Répartition des requêtes :

  • L'instruction 'UPDATE' précise d'abord le nom de la table à mettre à jour, dans ce cas 'table_users'.
  • La clause 'SET' définit les colonnes à mettre à jour et les nouvelles valeurs qu'elles doivent prendre. Dans cette requête, nous utilisons l'instruction « CASE » pour attribuer différentes valeurs à « cod_user » en fonction de la valeur de « user_role ».
  • La clause 'WHERE' spécifie les conditions qui déterminent quelles lignes sont mises à jour. Il utilise l'instruction 'IN' pour vérifier si 'user_role' est l'un des ('student', 'assistant', 'admin') et si 'cod_office' correspond à '17389551'.

Veuillez noter que le format de date utilisé dans les exemples n'est pas recommandé. La meilleure pratique consiste à stocker les dates sous forme de types de date natifs (tels que AAAA-MM-JJ).

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