Que tal
dilagos, obviamente que si ese DNI del que hablas esta establecido como Clave primaria en tu tabla no vas a poder ingresar otro registro con ese mismo dato, ahora esto es parte de la integridad referencial de las BD, lo que podrias hacer antes de ingresar un nuevo registro es verificar que efectivamente ese DNI no este en la BD, haces tu respectiva consulta con un SELECT, y verificas con la función
mysql_num_rows() si el número de filas devuelto es igual a cero es porque no existe un registro en tu tabla con ese DNI y posteriormente procedes a realizar el INSERT.
PD: Aparte de lo que te dice
Synkronice