Nein. Und du musst den Trigger auf jede Tabelle legen. Wie von mir gesagt: das Verhalten zu emulieren kostet Performance. Bleibt zu überlegen ob man das Problem nicht anders beseitigen kann indem man die Anwendung “heile” macht.
Du möchtest etwas emulieren was so eigentlich falsch ist. Wenn man “affected” übersetzt heißt es “betroffene” oder “bewegte” Daten und bei einem Update sind die Daten immer betroffen. Daher ist logisch gesehen die Ausgabe von MySQL falsch.
Ich würde mit mir reden lassen wenn das updated_rows() heißen würde … dann könnte man die effektiv geänderten zählen …
Noch etwas:
Du kannst den Trigger auch nur für UPDATE definieren. Alle anderen Fälle fange ich im trigger sowieso ab und da passiert nichts. Wichtig in deinem Fall sind ja die unterschiedlichen Zahlen bei Updates, alles andere passt.