Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/05/2008, 02:09
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 2 meses
Puntos: 574
Respuesta: Impedir que dos procesos accedan al mismo tiempo a una tabla

El problema que planteas es de manejo de transacciones, pero no es aplicable a las claves principales PK, en el caso de la PK es el motor que se preocupa del promblema de manera transparente para el programador.

Tienes dos opciones que yo conozca:

Definir el id como autoincremental asegura una clave unica sin comprobaciones previas, la clave sera un numero.

Tambien existe el tipo de datos GUID (Globally Unique Identifier) que genera una clave unica a nivel "mundial" puesto que depende de los identificadores unicos del hard que la esta generando (no se como se implementa en MySQL). Este ocupa bastante mas espacio en disco pero su aspecto seria mas parecido al ejemplo que propones.


En el caso del autoinc lo que no puedes hacer es mostrar el id que tocaria antes de insertar el registro pero si despues de insertarlo, puesto que en ese momento ya ha sido asiognado y seguro que es ese.


Quim