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 ?
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 :
CASE
pour gérer davantage de conditions selon vos besoins.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!