No puedes leer y actualizar la tabla al mismo tiempo. MySQL no te lo permitirá por riesgo de inconsistencias.
Simplifica la tarea:
Código MySQL:
Ver originalSET A.stock
= (A.stock
-V.cantidad
) V.nfactura = 1
V.codarticulo = 1;
No pongo la condición A.codigo=1 porque resulta redundante cuando usas INNER JOIN, al ser A.codigo = V.codarticulo.