Heim > Datenbank > MySQL-Tutorial > Wie aktualisiere ich eine Tabelle in einer MySQL-Multi-Join-Anweisung?

Wie aktualisiere ich eine Tabelle in einer MySQL-Multi-Join-Anweisung?

Barbara Streisand
Freigeben: 2024-11-24 11:12:11
Original
876 Leute haben es durchsucht

How to Update a Table in a MySQL Multi-Join Statement?

Aktualisieren Sie eine MySQL-Tabelle in einer Multi-Join-Anweisung

Wenn Sie mit mehreren Joins in MySQL arbeiten, verstehen Sie die unterschiedliche Syntax zum Aktualisieren eines Joins Der Tisch ist entscheidend. Anders als in SQL Server verwendet MySQL einen besonderen Ansatz.

Problem:

Das Durchführen eines Aktualisierungsvorgangs für eine Tabelle, die an einer Reihe von Verknüpfungen beteiligt ist, kann bei Bedarf eine Herausforderung sein Tabelle ist nicht die erste in der Join-Reihenfolge.

Beispiel Abfrage:

Betrachten wir eine hypothetische Abfrage:

UPDATE b
FROM tableA a
JOIN tableB b
   ON a.a_id = b.a_id
JOIN tableC c
   ON b.b_id = c.b_id
SET b.val = a.val+c.val
WHERE a.val > 10
    AND c.val > 10;
Nach dem Login kopieren

Lösung:

In MySQL funktioniert die UPDATE-Syntax mit JOIN anders . Die zu aktualisierende Tabelle wird in der Anweisung nicht explizit angegeben; Stattdessen wird es aus der SET-Klausel abgeleitet. Daher wäre die richtige Abfrage:

UPDATE tableA a
JOIN tableB b
   ON a.a_id = b.a_id
JOIN tableC c
   ON b.b_id = c.b_id
SET b.val = a.val+c.val
WHERE a.val > 10
    AND c.val > 10;
Nach dem Login kopieren

Wichtige Punkte:

  1. MySQLs UPDATE mit JOIN-Syntax erfordert keine FROM-Klausel.
  2. Die zu aktualisierende Tabelle wird in der SET-Klausel angegeben.
  3. Diese nicht standardmäßige Syntax ist a MySQL-spezifische Erweiterung.

Das obige ist der detaillierte Inhalt vonWie aktualisiere ich eine Tabelle in einer MySQL-Multi-Join-Anweisung?. 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