unique constraints, updates