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

mysql autoincrement

Estas en el tema de mysql autoincrement en el foro de Bases de Datos General en Foros del Web. tengo un campo declarado com autoincrement. Si se borra alguna entrada me queda vacia esa identificación y al añadir entradas prosigue como si la borrada ...
  #1 (permalink)  
Antiguo 22/05/2003, 04:04
xup
 
Fecha de Ingreso: abril-2003
Mensajes: 15
Antigüedad: 21 años, 7 meses
Puntos: 0
mysql autoincrement

tengo un campo declarado com autoincrement. Si se borra alguna entrada me queda vacia esa identificación y al añadir entradas prosigue como si la borrada existiera... ¿hay alguna manera para que al insertar entradas ocupen las lineas vacias?
gracias!
__________________
;-)
  #2 (permalink)  
Antiguo 22/05/2003, 04:45
 
Fecha de Ingreso: abril-2003
Mensajes: 3
Antigüedad: 21 años, 7 meses
Puntos: 0
Hola,

pues si entiendo tu pregunta , sí hay una forma pero no es como auto_increment, sino más bien manual y consiste en :

-cambiar el campo auto_increment por una columna normal de algun tipo como tinyint o mediumint, etc.

-y que cuando vayas a realizar un insert en esa tabla primero obtengas el valor máximo en esa columna (ID), lo guardes en alguna variable a la cual le sumas 1 para obtener el siguiente número y ahora si ya hagas el insert, por ejemplo:
Código PHP:
$sql 'SELECT MAX(id) AS total FROM table'
//obtienes el valor maximo y lo guardas en una variable y le sumas 1

$id_siguiente $row['total'] + 1;

// y ya después haces el insert 
mmm creo que la razón de querer hacer esto es más bien de origen estético pero puedo estar equivocado

bye
  #3 (permalink)  
Antiguo 22/05/2003, 04:52
xup
 
Fecha de Ingreso: abril-2003
Mensajes: 15
Antigüedad: 21 años, 7 meses
Puntos: 0
gracias!!
si, tienes razón... es más estética que necesidad... de todas maneras te agradezco tu respuesta ;)
__________________
;-)
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:47.