Título: [PHP + MYSQL] Incrementar valor de un INT Publicado por: Alex_bro en 23 Febrero 2009, 15:59 pm Buenas,
Tengo una dudilla... estoy escribiendo un sistema de foros desde 0 (Que cuesta arriba se me está haciendo! Mas que nada por que cada dia hay mas lineas de codigo y eso me stresa jaja) y en una de las partes, tengo que incrementar en 1 o restarselo la cantidad de mensajes que tiene un cierto foro... Para eso actualmente recojo el valor actual de los mensajes, le resto uno, y lo vuelvo a subir con un UPDATE. Sé que todo eso se hace en cuestion de microsegundos, pero es posible que en los tiempos mas concurridos del foro al hacer 2 peticiones simultaneas se lien las operaciones... ? Vamos, que al momento de recojer el valor, otro lo incremente y yo haga el UPDATE con el valor erroneo. Si fuera asi... Cual es la manera logica de hacer este tipo de operaciones? Gracias. Título: Re: [PHP + MYSQL] Incrementar valor de un INT Publicado por: XafiloX en 23 Febrero 2009, 20:55 pm Puedes utilizar esto:
Código: UPDATE table SET valor = valor+1 WHERE.... Si tienes miedo a que algo se modifique mientras se ejecuta el codigo, puedes utilizar LOCK TABLES, aunque no te lo recomiendo... Título: Re: [PHP + MYSQL] Incrementar valor de un INT Publicado por: Alex_bro en 28 Febrero 2009, 01:16 am Muchisimas gracias!
Usando esa buena tecnica de programacion me quito de encima bastantes lineas de codigo, y tambien bastantes accesos a la db... Saludos! EDITO: Despues de muchos mareos de cabeza al incrementar decimales... Acuerdense de encerrar la operacion con parentesis! Ejemplo: Código: UPDATE table SET valor = (valor+1.20) WHERE.... |