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

Comment mettre à jour une colonne MySQL avec les valeurs d'une autre table ?

Linda Hamilton
Libérer: 2025-01-17 04:51:09
original
497 Les gens l'ont consulté

How to Update a MySQL Column with Values from Another Table?

Base de données MySQL : mettre à jour la colonne en utilisant la valeur d'une autre table

Le but de cet article est de remplir la colonne « valeur » dans « tableB » avec la valeur correspondante dans « tableA » en fonction du nom correspondant.

Syntaxe de l'instruction UPDATE :

Afin de mettre à jour la colonne "value" dans "tableB", nous pouvons utiliser l'instruction UPDATE suivante :

<code class="language-sql">UPDATE tableB
SET tableB.value = (
  SELECT a.value
  FROM tableA a
  WHERE a.name = tableB.name
)
WHERE tableB.name IN (
  SELECT name
  FROM tableA
);</code>
Copier après la connexion
Copier après la connexion

Instructions :

  • La requête SELECT interne trouve la "valeur" correspondante dans "tableA" en fonction du "nom" correspondant.
  • L'instruction externe UPDATE met à jour la colonne "value" dans "tableB" avec la valeur trouvée.
  • La clause WHERE dans l'instruction externe UPDATE garantit que seuls les enregistrements correspondants sont mis à jour.

Exemple :

Utilisation d'exemples de données :

<code class="language-sql">UPDATE tableB
SET tableB.value = (
  SELECT a.value
  FROM tableA a
  WHERE a.name = tableB.name
)
WHERE tableB.name IN (
  SELECT name
  FROM tableA
);</code>
Copier après la connexion
Copier après la connexion

Après avoir exécuté cette instruction, "tableB.value" sera mis à jour comme suit :

<code>id  name  value
===================
1   Joe     22
2   Derk    30</code>
Copier après la connexion

Autres options :

  • Pour mettre à jour uniquement des lignes spécifiques, vous pouvez ajouter des conditions supplémentaires dans la clause WHERE.
  • Pour mettre à jour dynamiquement « tableB.value » en fonction de « tableA.value », vous pouvez utiliser une instruction IF dans la clause SET, comme indiqué dans l'exemple.

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