Heim >Datenbank >MySQL-Tutorial >Wie aktualisiere ich eine verbundene Tabelle in MySQL, wenn die Zieltabelle nicht an erster Stelle steht?
Aktualisieren einer verbundenen Tabelle in MySQL mit umgekehrter Tabellenreihenfolge
Die Aufgabe, eine Tabelle zu aktualisieren, die an einer Join-Anweisung beteiligt ist, kann eine Herausforderung sein, wenn die Die gewünschte Tabelle steht nicht am Anfang. In MySQL unterscheidet sich im Gegensatz zu SQL Server die Syntax für Aktualisierungen mehrerer Tabellen, wodurch dieses Problem behoben wird.
Betrachten Sie das folgende Beispiel, bei dem das Ziel darin besteht, Tabelle „b“ zu aktualisieren:
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;
In MySQL gibt die Syntax der UPDATE-Anweisung mit einer JOIN-Klausel nicht die zu aktualisierende Tabelle an. Stattdessen wird es implizit durch die SET-Klausel bestimmt.
Um das gewünschte Update zu erreichen, kann daher die folgende überarbeitete Syntax verwendet werden:
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;
Es ist wichtig zu beachten, dass das UPDATE mit JOIN Die Syntax ist nicht Teil der Standard-SQL-Spezifikation und sowohl MySQL als auch Microsoft SQL Server haben ihre eigenen Variationen implementiert.
Das obige ist der detaillierte Inhalt vonWie aktualisiere ich eine verbundene Tabelle in MySQL, wenn die Zieltabelle nicht an erster Stelle steht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!