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

Duda con auto_increment

Estas en el tema de Duda con auto_increment en el foro de Mysql en Foros del Web. Buenas a todos. Tengo una tabla en la que voy insertando clientes con sus datos personales (todo esto a traves de php). Como clave primaria ...
  #1 (permalink)  
Antiguo 24/02/2009, 12:21
 
Fecha de Ingreso: junio-2008
Mensajes: 24
Antigüedad: 15 años, 10 meses
Puntos: 0
Duda con auto_increment

Buenas a todos.
Tengo una tabla en la que voy insertando clientes con sus datos personales (todo esto a traves de php). Como clave primaria tengo un código (o id) que es auto_increment y bigint.

Bien, mis dudas son las siguientes:

¿cuantos clientes podría insertar siendo un bigint?

Otra cosa que me tiene loco es que me he dado cuenta que cuando he introducido por ejemplo 10 clientes, cuando borro el cliente con código 4 (por ejemplo), luego cuando vuelvo a introducir un cliente, este se inserta con código 11.
¿Que problemas me puede traer esto?
¿Se puede modificar algo para que el nuevo cliente se inserte en un código que esté "libre"?, o simplemente no deberia preocuparme este tema porque tengo de sobra para insertar y borrar todos los clientes que quiera? jajaj

Saludos
  #2 (permalink)  
Antiguo 24/02/2009, 13:15
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Duda con auto_increment

Buen día Phpeitor

un bigint maneja un rango entre -9223372036854775808 a 9223372036854775807.
o de 0 a 18446744073709551615 que sería tu caso.

No creo que tengas problemas con borrar unos cuantos clientes... jajajaja
  #3 (permalink)  
Antiguo 26/02/2009, 11:27
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: Duda con auto_increment

Cita:
Iniciado por phpeitor Ver Mensaje
Buenas a todos.
Tengo una tabla en la que voy insertando clientes con sus datos personales (todo esto a traves de php). Como clave primaria tengo un código (o id) que es auto_increment y bigint.

Bien, mis dudas son las siguientes:

¿cuantos clientes podría insertar siendo un bigint?

Otra cosa que me tiene loco es que me he dado cuenta que cuando he introducido por ejemplo 10 clientes, cuando borro el cliente con código 4 (por ejemplo), luego cuando vuelvo a introducir un cliente, este se inserta con código 11.
¿Que problemas me puede traer esto?
¿Se puede modificar algo para que el nuevo cliente se inserte en un código que esté "libre"?, o simplemente no deberia preocuparme este tema porque tengo de sobra para insertar y borrar todos los clientes que quiera? jajaj

Saludos
¿Cual es el objetivo de que los IDs estén correlativos? ¿que pretendes con que ocupe el espacio vacio del otro ID?

Los Ids son identificadores únicos, no son indicadores de numeración de tus registros.
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #4 (permalink)  
Antiguo 26/02/2009, 11:44
 
Fecha de Ingreso: noviembre-2007
Mensajes: 133
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Duda con auto_increment

Ademas no es bueno borrar clientes sino darlos de baja
  #5 (permalink)  
Antiguo 08/03/2009, 04:48
 
Fecha de Ingreso: junio-2008
Mensajes: 24
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Duda con auto_increment

Cita:
¿Cual es el objetivo de que los IDs estén correlativos? ¿que pretendes con que ocupe el espacio vacio del otro ID?

Los Ids son identificadores únicos, no son indicadores de numeración de tus registros.
Objetivo ninguno, es que lo preguntaba por si en un futuro podia haber algun tipo de error despues de haber insertado muchos clientes y borrado otros tantos xD, pero ya veo que no debe haber errores jeje

Cita:
Ademas no es bueno borrar clientes sino darlos de baja
Los clientes los doy de baja, pero tambien los puedo eliminar si por ejemplo ha sido una equivocación.

Gracias a todos por la ayuda.
  #6 (permalink)  
Antiguo 08/03/2009, 07:27
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: Duda con auto_increment

Cita:
Los clientes los doy de baja, pero tambien los puedo eliminar si por ejemplo ha sido una equivocación.
Los clientes deben ser validados ANTES de ingresarlos en la base de datos. Eso es básico, porque de lo contrario estás exponiendo a la base a contener inconsistencias que en algún momento producirán problemas.
Cuando se hace mención de que no se dan de baja, es que por razones de integridad referencial, existe un conjunto de tipos de datos que jamás se elimina en ningún tipo de bases de datos ya que los mismos pueden aparecer en registros históricos (como son los DataWarehouse, por ejemplo). Es el caso de las mercaderías, las bibliotecas, los usuarios, los clientes, etc. Lo que se hace no es eliminar el registro, sino darle una condición de "inactivo", obsoleto, o inexistente.
Por darte un ejemplo: si revisas los registros de productos de un supermercado de una firma de larga data encontrarás productos que no se fabrican desde hace años, o cuyas firmas ya ni existen. Pero se los debe conservar por las razones que mencioné.

Sintetizando:
- Valida los clientes en la aplicación y no permitas el ingreso sin previa revisión de datos. Corregir errores implica reprogramar cosas para poder hacer las verificaciones que se debieron hacer desde el inicio.
- No borres esos registros: desactívalos con un campo booleano que puedas usar para esa verificación, o bien traslada el registro a otra tabla histórica.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
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 07:55.