Hamster: Rückgabewert von UPDATE ?

Beitrag lesen

Habe eine Tabelle, folgende Stuktur:

id|wert|zaehler

wenn ich nun

UPDATE tabelle SET zaehler = zaehler+1 WHERE wert = 'blub'

mache, bekomme ich dann vielleicht auch den Wert der Spalte id für den betroffenen Datensatz?

Nein, sowas geht grundsätzlich nicht.

Man sendet zwei SQL-Statements an die DB und stellt sicher, dass diese direkt nacheinander ausgeführt werden. Das erste Statement macht das SELECT, das zweite das UPDATE bei jeweils gleicher WHERE-Klausel.

Wenn du nicht direkt auf die DB zugreifst, sondern aus einer Applikation mittels Datenbankanbindung, könntest du natürlich zuerst eine Query absetzen (wert = 'blub'), dann über das result set iterieren und für jede id das update statement absetzen. Das ist allerdings - gelinde gesagt - Schwachsinn.

Erstens ist die Iteration weder erforderlich noch sinnvoll, zweitens geht es so in einer Mehrnutzerumgebung oft nicht.