... la verdad es que son cosas distintas el impedir se reingresen datos por actualizar que el impedir se ingresen datos por que estén repetidos (para lo último hay una FAQ)... además que estar revizando si el dato está repetido significa un gasto de recursos... no lo veo como buena opción (sin que signifique que no puede servir).
La pregunta es: ¿qué problema hay con separar código??, es simple y sencillo.