Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/03/2007, 12:34
digdig
 
Fecha de Ingreso: marzo-2007
Mensajes: 26
Antigüedad: 17 años, 1 mes
Puntos: 0
Como generar localizador de reserva aleatorio tipo ZX32B1

Hola estoi montando una base datos para una agencia de reserva de cruceros en la que tengo una tabla con una clave primaria que viene a ser el identificador de la reserva que se le da al cliente al finalizar la compra.
La historia es que de momento esa clave es un entero que se autoincrementa tomando valores conecutivos. Quisiera saber si existe alguna forma de pedirle a mysql que genere una clave de 6 caracteres (dígitos y letras) pero con valores aleatorios no consecutivos teniendo en cuenta que no pueden repetirse.

Algunos ejemplos de localizadores podrían ser los siguientes:
TR45D3S
XZCC301
HLPO961


Con seis caracteres es más que suficiente porque cada uno puede tomar valores desde la A a la Z y del 0 al 9 es decir 37 valores distintos.
37 ^6 = 2.565.726.409 reservas posible.
En el peor de los casos la agencia podría realizar 600.000 reservas al año asi que me da de sobra. Al tomar valores aleatorios de alguna manera tengo que garantizar que entre reservas queden suficientes valores sin asignar para evitar que al tratar de asigmar un valor ya utilizado tenga bastantes probabilidades de encontrar aleatoriamente otro que este libre para usar.

Gracias por la ayuda y perdon por el rollo del final