Maison > base de données > tutoriel mysql > le corps du texte

Comment mettre à jour plusieurs tables avec des valeurs identiques dans MySQL ?

Barbara Streisand
Libérer: 2024-11-02 20:36:03
original
939 Les gens l'ont consulté

How to Update Multiple Tables with Identical Values in MySQL?

Mise à jour de plusieurs tables avec des valeurs identiques

Considérations sur les requêtes :

L'objectif est de mettre à jour deux tables, Table_One et Table_Two, avec des valeurs identiques pour des colonnes spécifiques (c'est-à-dire victoire, séquence et score) en fonction de critères spécifiques (c'est-à-dire ID utilisateur). Cependant, les tables présentent quelques différences : Table_Two n'a pas de champ de couvercle et leurs noms varient.

Approche de mise à jour multi-table :

MySQL offre la flexibilité d'effectuer plusieurs -mises à jour de la table via une seule requête. Cette approche exploite la puissance des jointures pour relier les tables en fonction de colonnes communes, permettant ainsi la mise à jour simultanée de plusieurs lignes dans les tables participantes.

Requête mise à jour :

<code class="sql">UPDATE Table_One a
INNER JOIN Table_Two b ON (a.userid = b.userid)
SET
  a.win = a.win+1, a.streak = a.streak+1, a.score = a.score+200,
  b.win = b.win+1, b.streak = b.streak+1, b.score = b.score+200
WHERE a.userid = 1 AND a.lid = 1 AND b.userid = 1;</code>
Copier après la connexion

Dans cette requête de mise à jour multi-table :

  • La clause INNER JOIN établit une relation entre les deux tables en fonction de la colonne userid.
  • La clause SET spécifie les colonnes et les mises à jour valeurs pour Table_One et Table_Two.

Limitations et alternatives :

Il est crucial de noter que les mises à jour multi-tables ne prennent pas en charge LIMIT. Par conséquent, la requête peut mettre à jour plus de lignes que prévu. Par conséquent, les transactions ou les procédures stockées peuvent être des solutions plus appropriées pour garantir que les deux mises à jour sont exécutées de manière atomique.

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