Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Aunincrement con numero inicial definido por el usuario

Estas en el tema de Aunincrement con numero inicial definido por el usuario en el foro de Mysql en Foros del Web. Hola a todos, queria saber si alguien podria ayudarme con mi problema. Tengo una base de datos, la cual tiene un campo llamado "ID" con ...
  #1 (permalink)  
Antiguo 18/05/2011, 09:43
Avatar de Jason512  
Fecha de Ingreso: marzo-2008
Mensajes: 14
Antigüedad: 16 años, 1 mes
Puntos: 2
Aunincrement con numero inicial definido por el usuario

Hola a todos, queria saber si alguien podria ayudarme con mi problema.

Tengo una base de datos, la cual tiene un campo llamado "ID" con autoincrement, pero quisiera que el primer valor de mi primero registro y los siguientes apartir de ese, empiecen con un numero que yo elija, en lugar de 1, 2, 3, 4, 5.... quisiera que el autoincrement empezara en 301, 302, 303, 304....

Si alguien me ayuda se lo agradeceria mucho.
  #2 (permalink)  
Antiguo 18/05/2011, 09:47
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Aunincrement con numero inicial definido por el usuario

Eso no tiene inconvenientes. Simplemente se lo defines cuando creas la tabla, o bien usando un ALTER TABLE. Pero ten en cuenta que afectará a todas las inserciones, sin excepción, sin importar qué usuario las haga.
La pregunta obligada es: ¿Para qué necesitas eso? ¿Qué diferencia te hace que comience en 301 y no en 1?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 18/05/2011, 09:55
Avatar de Jason512  
Fecha de Ingreso: marzo-2008
Mensajes: 14
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: Aunincrement con numero inicial definido por el usuario

Porque pretendo tener varias bases de datos e instalaciones de mi aplicacion PHP y quiero que cada usuario tenga un ID unico por si necesito despues copiar los registros a una misma tabla para que usuarios de diferente servidores de mi aplicacion puedan interactuar y evitar de una vez futuros problemas, ademas de que el primer numero del autoincrement me sirve para identificar el server al saber con que numero incia.

301, 302, 303.... era un ejemplo, tenia en mente numeros mas altos como 111000001, 111000002, 111000003....
  #4 (permalink)  
Antiguo 18/05/2011, 10:14
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Aunincrement con numero inicial definido por el usuario

Si vas a trabajar con bases de datos diferentes que luego pueden necesitar consolidarse, lo mejor es olvidarse de los autoincrement y crear las claves primarias en base al modelo relacional (los AI son un parche motivado por la vagancia o la falta de análisis, no un fundamento del modelo).
En ese sentido, si los usuarios tienen un atributo propio y único, como podría ser su documento de identidad, su registro comercial o lo que fuese, ese sería mejor clave para tu caso que hacer lo que propones.
Aún en el caso de querer seguir con los AI, sería mejor usar otro identificador adicional en combinación con ese, y no ponerte a "cortar" segmentos de numeración para distribuirlos en diferentes bases, porque a la larga tendrás casos de solapamiento de valores.
Lo que suele hacerse, en el caso de bases distribuidas, es definir no sólo un punto de inicio de numeración sino el step de incremento de forma que cada nodo de la base genere una secuencia incremental reconocible,. Pero eso no es el caso tuyo, porque esa definición se hace en la configuración del servidor, y eso está fuera de tu alcance.
A mi entender, trabajar las PK más cerca del paradigma E-R es mejor solución.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: inicial, numero, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:48.