Heim >Datenbank >MySQL-Tutorial >Wie aktualisiere ich eine Tabelle in einer MySQL-Multi-Join-Anweisung, wenn es sich nicht um die erste Tabelle handelt?

Wie aktualisiere ich eine Tabelle in einer MySQL-Multi-Join-Anweisung, wenn es sich nicht um die erste Tabelle handelt?

DDD
DDDOriginal
2024-12-11 07:38:11512Durchsuche

How to Update a Table in a MySQL Multi-Join Statement When It's Not the First Table?

Eine Tabelle in einer Multi-Join-Anweisung in MySQL aktualisieren

Das Aktualisieren einer verbundenen Tabelle in MySQL kann eine Herausforderung sein, wenn die Tabelle, die Sie möchten update ist nicht das erste in der Join-Kette. In diesem Artikel wird untersucht, wie Sie dieses Hindernis mithilfe der unkonventionellen UPDATE-Syntax von MySQL überwinden können.

Unkonventionelle Syntax für die Aktualisierung mehrerer Tabellen

Im Gegensatz zur Syntax von Microsoft SQL Server verwendet MySQL UPDATE mit JOIN -Anweisung erfordert nicht die Angabe der zu aktualisierenden Tabelle in der FROM-Klausel. Stattdessen wird implizit die in der SET-Klausel angegebene Tabelle verwendet.

Beispiel

Das bereitgestellte Beispiel versucht, TabelleB basierend auf Werten aus TabellenA und TabelleC zu aktualisieren:

UPDATE tableB
FROM tableA
JOIN tableB ON a.a_id = b.a_id
JOIN tableC 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 SET -Klausel gibt TabelleB als die zu aktualisierende Tabelle an.
  • Die FROM-Klausel wird weggelassen, da sie in der Multi-Join-Aktualisierungssyntax von MySQL nicht erforderlich ist.
  • Standard-SQL unterstützt kein UPDATE mit JOIN, und MySQL und Microsoft SQL Server haben ihre eigenen Erweiterungen der Standardsyntax implementiert.

Durch die Einhaltung der einzigartigen Syntax von MySQL können Benutzer dies tun Verknüpfte Tabellen erfolgreich aktualisieren, auch wenn die Zieltabelle nicht die erste in der Verknüpfungskette ist.

Das obige ist der detaillierte Inhalt vonWie aktualisiere ich eine Tabelle in einer MySQL-Multi-Join-Anweisung, wenn es sich nicht um die erste Tabelle handelt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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