Mam bazę danych MySQL

id|pole1|pole2|...|pole30|

chciałbym teraz żeby dodać do tego historię zmian ale tak żeby np.
uzytkownik programu zmienia date w programie na wcześniejszą i wprowadza zmianę na daną datę jesli pozniej byly zmiany to automatycznie zapisuje tez odpowiednie rekordy.
Wymyslilem cos takiego
tabela historia
id|nazwa_pola|data|wartosc_nowa|wartosc_stara|

Czy zna ktoś lepszy sposób na rozwiązanie mojego problemu?