Hola bNd170... la sentencia no tienen nada de extraño, hice algunas pruebas y funciona perfectamente.
Código MySQL:
Ver originalQuery OK, 0 rows affected (0.05 sec)
Query OK, 1 row affected (0.02 sec)
+----------+-------------+----------------+
| id_video | descripcion | reproducciones |
+----------+-------------+----------------+
| 1 | video uno | 0 |
+----------+-------------+----------------+
mysql
> update `pruebas`.
`videos` set reproducciones
= reproducciones
+ 1 where id_video
= 1;Query OK, 1 row affected (0.01 sec)
+----------+-------------+----------------+
| id_video | descripcion | reproducciones |
+----------+-------------+----------------+
| 1 | video uno | 1 |
+----------+-------------+----------------+
mysql
> update `pruebas`.
`videos` set reproducciones
= reproducciones
+ 1 where id_video
= 1;Query OK, 1 row affected (0.01 sec)
+----------+-------------+----------------+
| id_video | descripcion | reproducciones |
+----------+-------------+----------------+
| 1 | video uno | 2 |
+----------+-------------+----------------+
Query OK, 0 rows affected (0.03 sec)
Revisa que no tengas ningún trigger o algún constraint en tu tabla que pudiera estar modificando el valor del campo al momento de hacer la actualización, o que no tengas algún bucle que se esté repitiendo n número de veces. Es lo único que se me ocurre.
Saludos y espero que encuentres cual es el problema.
Leo.