Supponendo che tu stia utilizzando una versione sufficientemente recente di MySQL, userei trigger , personalmente.
Supponendo che funzionino più o meno come quelli che conosco in altri prodotti (es. Oracle) il tuo problema diventa più semplice, nel senso che metti un trigger di "aggiornamento" sulla riga e lo usi per aggiornare la tabella di controllo per ogni campo sei interessato.
Possibile avvertenza:se la tua applicazione accede al DB come un solo utente (un approccio comune se utilizzi il pool di connessioni, ad esempio), potrebbe essere complicato registrare l'effettiva identità dell'utente.