if validation fails during update_by() the where clause carries over into subsequent queries

This is because the db->where is set before validation is checked, so in event of failure the where is set, but the query is not run.