Concurrencia postgresql php
Hola, llevo 2 días y medio dándole vueltas a un problema de concurrencia que tengo en mi aplicación php atacando a postgresql.
Verán... Imaginemos 2 usuarios: A y B. El usuario A entra en la gestion de notarías, hace un 'select * from notaría where id_notaria = $id;' y se muestran todo los datos de una notaría concreta. Entonces, pulsa el botón EDITAR y antes de hacer el UPDATE el usuario B lee la misma notaría y se dispone también a editar. El usuario A hace el update y luego el B tamb. ¡Quedan registrados los últimos datos guardados, los del usuario B! Eso es un problema, es como si el usuario A estuviera modificando los datos de la notaría 1 y, antes de hacer el UPDATE, el usuario B borra dicha notaría! Sería un problemón...
¿Cómo puedo evitar esto? He visto semaforos, transacciones, bloqueos de select for update y lock in share mode,... Y todos tienen algún inconveniente!!
¿Alguien me puede ayudar? Por favorrrrrrr
No se como solucionarlo ni si desde postgresql ni si desde php...
Verán... Imaginemos 2 usuarios: A y B. El usuario A entra en la gestion de notarías, hace un 'select * from notaría where id_notaria = $id;' y se muestran todo los datos de una notaría concreta. Entonces, pulsa el botón EDITAR y antes de hacer el UPDATE el usuario B lee la misma notaría y se dispone también a editar. El usuario A hace el update y luego el B tamb. ¡Quedan registrados los últimos datos guardados, los del usuario B! Eso es un problema, es como si el usuario A estuviera modificando los datos de la notaría 1 y, antes de hacer el UPDATE, el usuario B borra dicha notaría! Sería un problemón...
¿Cómo puedo evitar esto? He visto semaforos, transacciones, bloqueos de select for update y lock in share mode,... Y todos tienen algún inconveniente!!
¿Alguien me puede ayudar? Por favorrrrrrr
No se como solucionarlo ni si desde postgresql ni si desde php...
Respuesta de xhiena
1