elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  [PHP + MYSQL] Incrementar valor de un INT
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [PHP + MYSQL] Incrementar valor de un INT  (Leído 13,968 veces)
Alex_bro


Desconectado Desconectado

Mensajes: 1.246



Ver Perfil
[PHP + MYSQL] Incrementar valor de un INT
« 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.


En línea

XafiloX

Desconectado Desconectado

Mensajes: 130


Ver Perfil
Re: [PHP + MYSQL] Incrementar valor de un INT
« Respuesta #1 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...


En línea

Alex_bro


Desconectado Desconectado

Mensajes: 1.246



Ver Perfil
Re: [PHP + MYSQL] Incrementar valor de un INT
« Respuesta #2 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....
« Última modificación: 4 Marzo 2009, 21:45 pm por Alex_bro » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como hacer que una tabla vacia me retorne algun valor mysql
Bases de Datos
exeny 1 4,677 Último mensaje 20 Diciembre 2011, 20:42 pm
por exeny
Incrementar datos de una columna
Bases de Datos
.:UND3R:. 4 3,917 Último mensaje 16 Febrero 2012, 09:42 am
por HdM
MySQL no me muestra el valor? Osea khé?
PHP
venadHD 7 2,625 Último mensaje 25 Octubre 2015, 22:45 pm
por venadHD
Incrementar puntero entero con ++ en vez de +=
Programación C/C++
mester 3 4,492 Último mensaje 2 Enero 2016, 20:07 pm
por mester
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines