Maison >base de données >tutoriel mysql >Comment mettre à jour les enregistrements MySQL à l'aide des opérations JOIN ?

Comment mettre à jour les enregistrements MySQL à l'aide des opérations JOIN ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-25 10:51:53244parcourir

How to Update MySQL Records Using JOIN Operations?

Joindre des tables pour mettre à jour les enregistrements MySQL

Lorsque vous traitez plusieurs tables dans une base de données, il est souvent nécessaire de mettre à jour les enregistrements en fonction des valeurs d'une autre tableau. Cet article montre comment effectuer de telles mises à jour dans MySQL à l'aide d'une seule requête.

Considérez le scénario suivant : vous disposez de deux tables, l'une avec des valeurs SUBST_ID et CREATED_ID, et l'autre avec des valeurs SERIAL_ID et des valeurs BRANCH_ID vides. Vous souhaitez mettre à jour la colonne BRANCH_ID de la deuxième table avec les valeurs CREATED_ID correspondantes de la première table.

Pour y parvenir, vous pouvez utiliser une opération de jointure entre les deux tables sur les colonnes SERIAL_ID et SUBST_ID correspondantes. La requête suivante illustre la solution :

UPDATE TABLE2
JOIN TABLE1
ON TABLE2.SERIAL_ID = TABLE1.SUBST_ID
SET TABLE2.BRANCH_ID = TABLE1.CREATED_ID;

Dans cette requête, l'instruction UPDATE met à jour la table TABLE2, en la joignant à la table TABLE1 à condition que SERIAL_ID et SUBST_ID correspondent. La clause SET définit la colonne BRANCH_ID de TABLE2 sur la colonne CREATED_ID correspondante de TABLE1.

En exécutant cette requête, vous mettrez à jour avec succès toutes les lignes de TABLE2 avec les valeurs CREATED_ID appropriées de TABLE1, garantissant ainsi la cohérence des données entre les deux. tableaux.

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