Heim > Datenbank > MySQL-Tutorial > Wie aktualisiere ich SQL-Tabellenzeilen basierend auf übereinstimmenden Benutzernamen?

Wie aktualisiere ich SQL-Tabellenzeilen basierend auf übereinstimmenden Benutzernamen?

DDD
Freigeben: 2025-01-15 08:48:17
Original
390 Leute haben es durchsucht

How to Update SQL Table Rows Based on Matching Usernames?

Aktualisieren Sie den Zeilenwert in der Tabelle basierend auf dem passenden Benutzernamen

F: Tabellenwert aktualisieren

In der SQL-Datenbank gibt es zwei Tabellen, table_a und table_b, die beide eine gemeinsame Spalte namens user_name haben. Sie möchten bestimmte Spalten (mit den Namen „Spalte_b_1“ und „Spalte_b_2“) in Tabelle_b in die entsprechenden Spalten (Spalte_a_1 und Spalte_a_2) in Tabelle_a kopieren, basierend auf übereinstimmenden Benutzernamenwerten. Wie kann ich dies mithilfe von SQL-Anweisungen erreichen?

Antwort: Lösung

Wenn die entsprechenden Indizes vorhanden sind, können Sie die folgende UPDATE-Anweisung verwenden:

<code class="language-sql">UPDATE table_a
SET
  column_a_1 = (SELECT table_b.column_b_1 
                    FROM table_b
                    WHERE table_b.user_name = table_a.user_name),
  column_a_2 = (SELECT table_b.column_b_2
                    FROM table_b
                    WHERE table_b.user_name = table_a.user_name)
WHERE
  EXISTS (
    SELECT *
    FROM table_b
    WHERE table_b.user_name = table_a.user_name
  );</code>
Nach dem Login kopieren

Hinweis: Diese UPDATE-Anweisung verwendet eine Unterabfrage, um die Spaltenwerte aus table_b abzurufen, die jeder Zeile in table_a entsprechen, die einen passenden Benutzernamen hat .

Wenn die Leistung ein Problem darstellt, sollten Sie erwägen, SELECT- und JOIN-Operationen zu verwenden, um eine temporäre Tabelle zum Speichern der geänderten Zeilen zu erstellen. Anschließend können Sie die vorhandenen Daten aus table_a löschen und sie aus der temporären Tabelle neu auffüllen.

Das obige ist der detaillierte Inhalt vonWie aktualisiere ich SQL-Tabellenzeilen basierend auf übereinstimmenden Benutzernamen?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage