Maison > base de données > tutoriel mysql > Comment mettre à jour la valeur d'une colonne MySQL en fonction des données d'une autre table ?

Comment mettre à jour la valeur d'une colonne MySQL en fonction des données d'une autre table ?

DDD
Libérer: 2025-01-17 05:01:10
original
427 Les gens l'ont consulté

How to Update a MySQL Column's Value Based on Data from Another Table?

MySQL : Mettre à jour la valeur de la colonne en fonction des données d'une autre table

Question :

Supposons qu'il existe deux tables avec des structures similaires :

id name value
1 Joe 22
2 Derk 30

La tâche consiste à mettre à jour la colonne « valeur » du tableau B avec la valeur du tableau A en fonction de la valeur « nom » correspondante.

Solution :

Vous pouvez utiliser l'instruction SQL UPDATE avec une clause JOIN pour effectuer cette opération de mise à jour. Voici une requête possible :

<code class="language-sql">UPDATE tableB
INNER JOIN tableA ON tableB.name = tableA.name
SET tableB.value = tableA.value;</code>
Copier après la connexion

Cette requête mettra à jour la colonne « valeur » de toutes les lignes du tableau B qui correspondent au tableau A, en fonction de la colonne « nom ».

Mise à jour de la valeur dynamique :

Vous pouvez modifier la requête pour mettre à jour dynamiquement la table B.value en fonction des valeurs de la table A.value. Par exemple, la requête suivante ne met à jour la table B.value que si la table A.value est supérieure à 0 :

<code class="language-sql">UPDATE tableB
INNER JOIN tableA ON tableB.name = tableA.name
SET tableB.value = IF(tableA.value > 0, tableA.value, tableB.value)
WHERE tableA.name = 'Joe';</code>
Copier après la connexion

Dans cet exemple, la colonne « valeur » dans la ligne avec « nom » « Joe » dans le tableau B sera mise à jour avec la valeur du tableau A uniquement si la valeur du tableau A est supérieure à 0. Sinon, les valeurs existantes dans le tableau B resteront inchangées.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal