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;
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;
Wichtige Punkte:
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!