Bien, es entonces como lo suponía: una tabla que representa la relación N:M entre otras dos.
Si esto es una muestra de datos real:
Esto:
simplemente no puede funcionar porque hay al menos
tres registros que tienen 34 en id_noticias, y si se ejecuta ese UPDATE no puede funcionar
ni con el primero (34,1), porque
ya existe un (34,3).
La única forma en que pueda darse que haya más de una instancia del par (34,3) es si y sólo si la PK de esa tabla posee algún
discriminante, es decir otro campo más que permita diferenciar el par (34,3) al que haces referencia, y para ello la PK debería ser por lo menos de 3 campos.
¿Se entiende el problema?
Para que tu UPDATE pueda ejecutarse, tu tabla debe admitir esto:
Código MySQL:
Ver original--------------------------
|id_noticia|id_portafolio|
--------------------------
| 34| 3|
--------------------------
| 34| 3|
--------------------------
| 34| 3|
--------------------------
Y eso es imposible dada la definición actual de la tabla.
Se necesitaría algo así:
Código MySQL:
Ver original-----------------------------
|id_noticia|id_portafolio|id|
-----------------------------
| 34| 3|1|
-----------------------------
| 34| 3|2|
-----------------------------
| 34| 3|3|
-----------------------------
¿Se comprende ahora?