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
Linda Hamiltonoriginal
2025-01-17 04:51:09498parcourir

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>

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>

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>

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!

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