А как надо было? Самый очевидный и простой способ, если надо тупо вставить данные в таблицу и набор полей может меняться со временем
Ну вот, и это просто задница с учётом того, что их порядок то меняется и потом это высчитывать где поменялось всё как-то сложно