En realidad la primera consulta ya ha terminado, para cuando ejecutas los UPDATE. El hecho que estés iterando el resultado del SELECT es medio irrelevante, porque lo que en realidad estás leyendo es lo que MySQL
ya devolvió. Como mucho podría estar en el buffer de consultas de MySQL, pero si no me equivoco ni siquiera eso.
No existe ninguna restricción a nivel de la base que impida hacer lo que dices, aunque el proceso en sí no tiene mucho sentido.
¿Por qué digo eso?
Porque si ese es el script real, como no estás haciendo ninguna comparación dentro del while(), en realidad estás enviando a actualizar todos y cada uno de los registros. Y en ese sentido lo que estás haciendo sería exactamente igual a enviar esto:
de esta forma:
Código PHP:
Ver original$vConsulta = "UPDATE productos SET precio= (precio * 1.1)";