Cita:
Iniciado por manunores me apareció lo mismo y copie la consulta de phpmyadmin al actualizar un registro
CoriaWeb no te está hablando de la query, sino de la condición del IF() que está
mal escrita, y por tanto está saliendo por el
else, donde
insertas el dato.
Como sale por allí está intentando insertar un registro con una PK que ya existe.
Corrige eso (el IF, no el INSERT).