Better error message for update()

Return error messages for both identical values and update failures.