Hallo Niko,
Ich dachte mir jetzt, dass man vielleicht die WHERE Bedingungen aus der Anfrage irgendwie rausschneidet und sie an eine SELECT Anweisung anhängt. Dann müsste man doch theoretisch genau die Felder als Rückgabe erhalten, die von der UPDATE/DELETE Anweisung betroffen sind.
jein.
Ja, Du erhältst alle Datensätze, die potentiell geändert werden.
Nein, Datensätze, die sich nicht ändern, werden nicht geändert (und sollten nicht erfasst werden, was bei der WHERE-Methode der Fall ist).
Du könntest statt dessen mit einer TIMESTAMP-Spalte arbeiten und deren magisches Verhalten (bei Dir ON UPDATE CURRENT TIMESTAMP) arbeiten. Nach dem Update suchst Du Dir die Datensätze, deren Wert in dieser Spalte im fraglichen Zeitraum liegt.
Bei konkurrierenden Zugriffen könntest Du ein Problem bekommen, die Datensätze sauber zu ermitteln. Wenn derartige Zugriffe kein Thema sind, dann sollte diese Methode es tun.
Genau aus diesen Gründen hatte ich Dir die sauberere Trigger-Lösung vorgeschlagen. Vielleicht kannst Du Deinen Provider davon überzeugen, auf eine neuere MySQL-Version upzugraden :-)
Freundliche Grüße
Vinzenz