MySQL met à jour dynamiquement les données des colonnes de table associées
Cet article décrit comment utiliser INNER JOIN dans MySQL pour mettre à jour dynamiquement les colonnes de la table cible. Notre objectif est de mettre à jour la valeur de la colonne correspondante dans la table source (tableA) vers la colonne de la table cible (tableB) en fonction de l'attribut de nom partagé.
Peut être réalisé en utilisant l'instruction UPDATE suivante :
<code class="language-sql">UPDATE tableB INNER JOIN tableA ON tableB.name = tableA.name SET tableB.value = tableA.value WHERE tableA.name = 'Joe';</code>
Avec la clause INNER JOIN, nous établissons une relation entre deux tables basée sur l'attribut name, garantissant que seuls les enregistrements correspondants sont mis à jour.
En plus des opérations de mise à jour de base, la valeur dans tableB.value peut également être modifiée dynamiquement en fonction des conditions dans tableA.value. Par exemple :
<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>
Cette instruction met à jour uniquement la valeur de tableA.value dans la colonne tableB.value lorsque tableA.value est supérieure à 0. Sinon, il conserve la valeur d'origine dans la colonne tableB.value. En combinant une telle logique conditionnelle, des tâches de manipulation de données plus complexes peuvent être réalisé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!