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

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

Linda Hamilton
Libérer: 2025-01-17 11:01:09
original
915 Les gens l'ont consulté

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

Mise à jour efficace de plusieurs lignes MySQL avec des valeurs variées

Ce guide aborde le défi courant lié à la mise à jour de plusieurs lignes de base de données avec des valeurs uniques à l'aide d'une seule requête MySQL. Bien que plusieurs méthodes existent, cette approche offre clarté et efficacité.

Une approche plus claire utilisant les instructions CASE

La méthode conventionnelle, impliquant souvent des instructions IF() imbriquées, devient lourde avec plusieurs conditions. Une alternative supérieure exploite le pouvoir des CASE déclarations :

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

Cette requête simplifiée utilise CASE pour attribuer dynamiquement des valeurs cod_user basées sur user_role, tout en définissant simultanément date sur une valeur cohérente pour toutes les lignes correspondantes.

Considérations clés

  • Instructions CASE : Celles-ci fournissent un moyen concis de gérer plusieurs affectations conditionnelles au sein d'une seule requête.
  • Clause WHERE : Cela cible précisément les lignes à mettre à jour, garantissant que seuls les enregistrements pertinents sont modifiés.
  • Intégrité des données : Pour une gestion optimale des données, stockez les dates à l'aide des types de données date/heure natifs de MySQL.

Cette approche combinée CASE et WHERE offre une solution structurée et facilement compréhensible pour mettre à jour plusieurs lignes avec des valeurs diverses dans MySQL.

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