Better error message for update()

Improves the error message for update() when the existing value is the same as the new one, as suggested in #1254