
10/11/2005, 12:18
|
| | Fecha de Ingreso: julio-2005 Ubicación: España
Mensajes: 91
Antigüedad: 19 años, 8 meses Puntos: 0 | |
Problema concurrencia Bueno como creo q en MySQL no hay triggers ni nada parecido (si lo hay avisarme :D) pues tengo el siguiente problema.
Todos los identificadores de todos los registros de todas las tablas de mi base de datos los obtengo de una tabla "id" q solo tiene un campo con un valor numerico. Cada vez que inserto un nuevo registro en cualquier tabla, tengo q acceder primero a la tabla "id" para obtener el identificador del registro que quiero insertar y aumentar en uno el valor guardado en la tabla "id" para que ese identificador no se vuelva a repetir en otro registro.
Esto lo hago y va bien a priori, pero no m parece muy seguro hacer esto así. ¿Como me puedo asegurar que no se accede dos veces a la vez a la tabla "id" y obtienen el mismo identificador?¿Eso puede pasar no?¿Como lo puedo resolver?¿Hay otra forma más segura de hacer esto?
Tambien puede ocurrir q por lo q sea obtenga el identificador, ocurra un error y no se incremente la tabla id y q posteriormente se devuelva el mismo identificador para otro registro. ¿Hay alguna manera en MyQSL de hacer todo esto como una unica operacion?
Un Saludo. |