MySQL – Update mittels JOIN
Nicht selten ist es beim Aktualisieren von Datensätzen notwendig, die Bedingung für in Frage kommende Datensätze bei der Update-Anweisung einzufügen. Wer keine Kenntnis darüber besitzt, wird eine zweite Abfrage vorschalten und das Ergebnis in der eigentlichen Update-Anweisung verwerten.
Dabei ist das Updaten von Datensätzen mittels bei MySQL sehr trivial. Folgende Abfrage aktualisiert alle Datensätze von tabelle1 (aktiv wird auf 1 gesetzt) welche in tabelle2 existieren.
- UPDATE tabelle1 AS a
- JOIN tabelle2 AS b
- ON a.id = b.id
- SET a.aktiv=1
Folgende Abfrage setzt das Flag “aktiv” in beiden Tabellen bei Datensätzen, die in beiden Tabellen vorkommen.
- UPDATE tabelle1 AS a
- JOIN tabelle2 AS b
- ON a.id = b.id
- SET a.aktiv=1,
- b.aktiv=1
Die Verknüpfung der Tabellen ist beliebig erweiterbar. Selbst Subselects oder Derived Tables sind kein Problem.
Keine Kommentare
Noch keine Kommentare
RSS Feed für Kommentare zu diesem Artikel. TrackBack URI


