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
One for general failure and one for equal values, right?