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

Comment mettre à jour les données d'une table MySQL en fonction des valeurs d'une autre table ?

Barbara Streisand
Libérer: 2025-01-17 04:47:09
original
816 Les gens l'ont consulté

How to Update MySQL Table Data Based on Another Table's Values?

Mettre à jour les données de la table MySQL en fonction des valeurs d'une autre table

Supposons que vous ayez deux tables avec une structure similaire, tableA et tableB :

id name value
1 Joe 22
2 Derk 30

La tâche consiste à copier la valeur de la colonne de valeur de la tableA dans la colonne de valeur de la tableB en fonction des valeurs de nom correspondantes dans les deux tables.

Pour ce faire, vous pouvez utiliser l'instruction MySQL UPDATE suivante :

<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 instruction effectue une opération INNER JOIN entre tableA et tableB en fonction de la colonne de nom et met à jour la colonne de valeur dans la tableB avec la valeur correspondante dans la tableA.

Mise à jour de la valeur dynamique basée sur la condition :

Si vous devez mettre à jour dynamiquement la colonne de valeur dans la tableB en fonction de la valeur dans la tableA, vous pouvez utiliser la méthode suivante :

<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

Ici, la fonction IF() vérifie si tableA.value est supérieur à 0. Si c'est vrai, définissez tableB.value sur la valeur de tableA.value ; sinon, conservez la valeur d'origine dans tableB.

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