• 15. Juli 2010 - von Der Typ  

    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.

  • hinterlasse eine Antwort