Ver Mensaje Individual
  #28 (permalink)  
Antiguo 14/07/2010, 01:44
Avatar de Gustavo72
Gustavo72
 
Fecha de Ingreso: abril-2008
Ubicación: -32.956045,-60.661355
Mensajes: 197
Antigüedad: 16 años, 8 meses
Puntos: 9
Respuesta: Leer campos de MySQL, Realizar cálculos, Almacenar el resultado

Voy a explicar nuevamente con una metáfora:

Supongamos que la tabla es un paisaje, cuando haces una consulta es como sacar una foto.
Si luego tu u otro usuario hacen modificaciones en la tabla, estás modificando el paisaje, no la foto.
Y tú que aún tienes la foto en la mano (y la estás recorriendo con el while) estarás viendo la versión anterior).
Es decir que para ver los cambios tienes que volver a sacar la foto (realizar una nueva consulta).

Cita:
Iniciado por Bier Ver Mensaje
¿Y cuando "suelta" la tabla temporal para almacenar a la tabla definitiva? ¿Al finalizar el PHP?
La tabla temporal la elimina cuando haces el mysql_free_result o bien cuando termina el script PHP pero no es que la tabla quede bloqueada para otros usuarios o para tu mismo.

Cita:
Iniciado por Bier Ver Mensaje
¿Acaso no hay algo así como "flush" para forzar almacenar inmediatamente a la tabla?
Los cambios (UPDATE), los nuevos registros (INSERT) o los borrados (DELETE) se graban a la tabla real en el momento.

Cita:
Iniciado por Bier Ver Mensaje
¿Y si son varios los usuarios que están afectando la tabla? ¿el segundo usuario verá datos anteriores si es que no los ha "soltado el usuario 1?
Lo que pasa es que al hacer una consulta SELECT es como sacar una foto, la tabla o los registros no quedan "tomados". Cada usuario al hacer una consulta estará viendo la tabla tal como está en el momento de hacer la consulta.

Cita:
Iniciado por Bier Ver Mensaje
¿Que material debo leer para documentarme al respecto?
Sí, en realidad es mejor que leas la documentación para ver más en detalle como funciona, además hay varios tipos de tablas, MyISSAM, ImnoDB son las más usadas y se comportan de maneras diferentes:

http://dev.mysql.com/doc/refman/5.0/es/index.html
__________________
Saludos.

Gustavo