Make Update, Updates smart, Only run sql when there are really some new things and reflect changes back to the struct