Heim > Datenbank > MySQL-Tutorial > Wie aktualisiere ich MySQL-Tabellendaten basierend auf den Werten einer anderen Tabelle?

Wie aktualisiere ich MySQL-Tabellendaten basierend auf den Werten einer anderen Tabelle?

Barbara Streisand
Freigeben: 2025-01-17 04:47:09
Original
815 Leute haben es durchsucht

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

MySQL-Tabellendaten basierend auf Werten aus einer anderen Tabelle aktualisieren

Angenommen, Sie haben zwei Tabellen mit ähnlicher Struktur, TabelleA und TabelleB:

id name value
1 Joe 22
2 Derk 30

Die Aufgabe besteht darin, den Wert der Wertespalte von TabelleA basierend auf den übereinstimmenden Namenswerten in den beiden Tabellen in die Wertespalte von TabelleB zu kopieren.

Dazu können Sie die folgende MySQL UPDATE-Anweisung verwenden:

<code class="language-sql">UPDATE tableB
INNER JOIN tableA ON tableB.name = tableA.name
SET tableB.value = tableA.value;</code>
Nach dem Login kopieren

Diese Anweisung führt eine INNER JOIN-Operation zwischen TabelleA und TabelleB basierend auf der Namensspalte durch und aktualisiert die Wertespalte in TabelleB mit dem entsprechenden Wert in TabelleA.

Bedingungsbasierte dynamische Wertaktualisierung:

Wenn Sie die Wertespalte in Tabelle B basierend auf dem Wert in Tabelle A dynamisch aktualisieren müssen, können Sie die folgende Methode verwenden:

<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>
Nach dem Login kopieren

Hier prüft die Funktion IF(), ob tableA.value größer als 0 ist. Wenn true, setzen Sie tableB.value auf den Wert von tableA.value; andernfalls behalten Sie den ursprünglichen Wert in tableB bei.

Das obige ist der detaillierte Inhalt vonWie aktualisiere ich MySQL-Tabellendaten basierend auf den Werten einer anderen Tabelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage