Maison >base de données >tutoriel mysql >Comment puis-je mettre à jour plusieurs enregistrements de base de données avec une seule requête SQL ?

Comment puis-je mettre à jour plusieurs enregistrements de base de données avec une seule requête SQL ?

DDD
DDDoriginal
2024-12-07 10:52:12373parcourir

How Can I Update Multiple Database Records with a Single SQL Query?

Mettre à jour plusieurs enregistrements avec une seule requête SQL

La mise à jour d'un grand nombre d'enregistrements dans une base de données peut prendre beaucoup de temps et tâche répétitive si elle est effectuée individuellement. Pour rationaliser le processus, il est possible de mettre à jour plusieurs enregistrements simultanément avec une seule requête SQL.

Utilisation de la syntaxe de mise à jour multi-table

Une approche consiste à utiliser la syntaxe de mise à jour multi-tables, qui vous permet de joindre plusieurs tables et de modifier leurs colonnes respectives en une seule instruction.

Par exemple, considérez la exemple suivant :

UPDATE config t1 JOIN config t2
ON t1.config_name = 'name1' AND t2.config_name = 'name2'
SET t1.config_value = 'value',
t2.config_value = 'value2';

Dans cette requête, nous joignons deux instances de la table de configuration, étiquetées t1 et t2. La clause ON définit les critères de jointure, garantissant que les enregistrements à mettre à jour correspondent aux valeurs config_name spécifiques. Dans la clause SET, nous attribuons de nouvelles valeurs aux colonnes config_value pour t1 et t2.

Utilisation de la mise à jour conditionnelle

Une autre option consiste à utiliser une mise à jour conditionnelle. , qui vous permet de définir différentes valeurs en fonction d'une condition spécifiée.

Considérez les éléments suivants requête :

UPDATE config
SET config_value = CASE config_name 
WHEN 'name1' THEN 'value' 
WHEN 'name2' THEN 'value2' 
ELSE config_value
END
WHERE config_name IN('name1', 'name2');

Ici, nous utilisons l'instruction CASE pour définir la nouvelle valeur de la colonne config_value en fonction de la valeur config_name. Pour les noms « nom1 » et « nom2 », la valeur est mise à jour en conséquence ; sinon, la valeur actuelle est conservée. La clause WHERE limite la mise à jour aux enregistrements dont les valeurs config_name correspondent aux critères donnés.

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