
17/11/2011, 08:56
|
| | Fecha de Ingreso: junio-2008
Mensajes: 26
Antigüedad: 16 años, 8 meses Puntos: 0 | |
Problema con consultas Hola ando teniendo algunos problemas con consultas corridas desde un script en php. 1° PRIMER Y SEGUNDO PROBLEMA
El primer problema que ocurrio fue porque una consulta se corrio de alguna forma 2 veces y realiza una resta.
UPDATE clientes SET monto = monto - 2000 WHERE cliente_id = 1
El cliente contaba con 2000 de monto pero por algun motivo la consulta se corrio 2veces seguidas entonces desconto 4000 enviando el monto del cliente a 61555.
La tabla esta seteada para que sea unsigned. No entiendo porque en vez de dejar el valor en 0 se esta llendo a 61555. 2° SEGUNDO PROBLEMA
Ese es uno, despues como es posible que cuando alguien envia un form la consulta corra 2 veces? Y en tal caso como puedo evitarlo? 3° TERCER PROBLEMA
Estoy seguro que este problema se relaciona con los anteriores. Pero de todas formas les explico.
Tengo una consulta que corre siempre que encuentra un tiempo <= time() osea una fecha vieja, y entonces actualiza el valor en la cuenta del usuario y despues borra el registro.
Por ejemplo si tiene que guardar 2500, guarda eso y guarda por ejemplo 1500 extra también.
La consulta que actualiza seria algo asi.
SELECT monto FROM temp WHERE cliente_id = 1
(aca se procesa ese monto y se hacen calculos en PHP)
UPDATE clientes SET monto = monto + 2500 WHERE cliente_id = 1
DELETE FROM temp WHERE cliente_id = 1
Obviamente revise que el valor sea el correcto, pero algunas veces aleatoriamente guarda cualquier cosa. En vez de 2500 guarda 4000 por ejemplo, lo cual es rarisimo porque tal valor no existe.
Bueno por ahora eso.
Aclaro que uso como motor InnoDB. No se si servirá. Espero que alguien pueda ayudarme porque la verdad no se que hacer para solucionar esto.
Muchas gracias. |