¡Genial!
Cita: Nadie usa phpMyadmin como gestor de datos ni como aplicación de gestión comercial. Es sólo una interfaz de acceso a MySQL de un modo amigable, pero no sirve para trabajar.
Como gestor de base de datos uso MySQL. phpMyAdmin lo uso como parte del entorno de desarrollo que es XAMPP y lo usa muchísima gente.
Cita: Cuando creas tu propia aplicación, tu mismo regulas todos los elementos que se necesitan. Si no quieres hacerlo siempre puedes conseguir aplicaciones prediseñadas que te sirvan.
Claro que quiero hacerlo, en eso estoy.
Cita: El problema, por tanto, no está en MySQL, sino en la herramienta que usas. Eso es todo...
Ya sé que el problema no está en MySQL, eso lo he entendido. En cuanto a PHP no es una herramienta es una tecnología.
Se me ha ocurrido una técnica para bloquear registros mediante programación utilizando dos campos más en cada tabla. Uno que indique si está bloqueado el registro y el otro por quién está bloqueado (id del usuario).
De esa forma cuando un usuario intente editar un registro el programa comprobará que no está bloqueado y, si está bloqueado, comprobará que el usuario que lo bloqueó es el usuario que está intentando editarlo, si no es así, no le dejará. Cuando vaya a hacer el update hará la misma comprobación.
Seria:
1. un UPDATE que ponga el campo lock a true y el campo user_lock con el id del usuario en el registro que queramos editar.
2. una SELEC de edición que comprueba si el campo lock está a false. Si no lo está comprobar que el id del usuario que lo ha bloqueado es el des mismo usuario que está logueado. Sí es así palante. En caso contrario no permitir la edición.
3. Exactamente igual a la hora de guardar los cambios.
No me gusta mucho porque es intrusivo, pero no se me ocurre otra forma.
Como ves estoy programando. Si hablo del patrón MVC, de scripts php, de cargar datos en formularios, etc. de que otra cosa podría estar hablando más que de programación. La pregunta era sencilla y la recalco "¿Cómo solucionáis el problema de la concurrencia al modificar datos en mysql desde php?" La pregunta es sencilla, la respuesta no tanto. Gracias por intentarlo.
--
Agustín