MySQL - Reordenador autoincrement

   
Vista:

Reordenador autoincrement

Publicado por jose jose.rodriguez.an@gmail.com (12 intervenciones) el 05/05/2013 08:30:13
Buenos dias a todos,

Tengo un problema con una base de datos. Tengo un campo "Id" que me da valores numericos.
Todo esta bien salvo cuando elimino algun registro, si elimino el registro 2, el 2 no aparecera más, sin embargo al crear un registro nuevo me crea un "Id" con el numero siguiente al ultimo numero registrado.

¿Existe alguna manera que la borrar algun registro automaticamente o de manera manual, el registro posterior al borrado, pase a tener el mismo numero "Id" autoincrement que el borrado?

Muchas gracias,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Reordenador autoincrement

Publicado por xve (899 intervenciones) el 05/05/2013 17:32:01
Hola Jose, la verdad es que nunca me he encontrado con esa necesidad, los id's a los que haces mención, son id's autonumericos y son la clave primaria (primary key) no veo ninguna razón para hacer lo que quieres hacer.

Internamente, ese valor se utiliza para los indices, paginaciones, vinculaciones con otras tablas, etc... yo te diría que no los tocaras.

Por que razón quieres hacer eso?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Reordenador autoincrement

Publicado por jose (12 intervenciones) el 05/05/2013 22:01:26
Hola xve,

En este caso, el autoincrement lo utilizo para dar una referencia a las referencias de una base de datos, en este caso libros. El problema que tengo es que haciendo pruebas he borrado registros dejando el registros de autoincrement huecos, como ejemplo decir tengo 1, 3 y 7, por haber borrado los registros 2,4,5 y 6.

Lo que necesito es los registros activos 1,3, y 7 pasen a ser,automaticamente o de forma manual atraves de algun comando, 1,2 y 3.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Reordenador autoincrement

Publicado por xve (899 intervenciones) el 06/05/2013 22:55:20
Hola Jose, la verdad es que reordenar la tabla, no te sabría decir como hacerlo, pero si que te puedo indicar como hacer para los próximos registros rellenen los campos que estén vacíos:

1
ALTER TABLE tablename AUTO_INCREMENT = 1

Esto hace, que el próximo valor, sea 1 si no existe, o el siguiente vació.

Otra cosa que puedes hacer, es volver a crear dicho campo, por lo que creo que te deberia de funcionar:
1
2
3
mysql_query("ALTER TABLE tablename DROP id");
mysql_query("ALTER TABLE tablename AUTO_INCREMENT = 1");
mysql_query("ALTER TABLE tablename ADD id bigint UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST");


Si lo pruebas coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Reordenador autoincrement

Publicado por kiko (1 intervención) el 22/05/2014 17:26:29
QUE CRACK, SI FUNCIONA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Reordenador autoincrement

Publicado por Franklin Guillen (1 intervención) el 03/04/2015 04:17:18
[-- Excelente --]

Hola xve

Soy programador web, y de verdad te felicito!!! tenia un tiempo buscando la solución al problema de los auto incremento, te comento que de una larga lista de intentos esta solución que ofreciste es la única que cumple con lo requerido créeme te he referido en un montón de foros dando tu solución ... Gracias! has logrado quitarme un dolor de cabeza y a muchos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de humberto

Reordenador autoincrement

Publicado por humberto (3 intervenciones) el 14/04/2015 14:38:16
Gracias mi pana xve por esta buena colaboración........te felicito...!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Reordenador autoincrement

Publicado por Deiber (1 intervención) el 10/12/2016 19:28:58
Hola probé de una y otra forma pero no me funcionó el método que propones, tal ves lo este haciendo mal ¿En que lado de la consulta hago el ALTER TABLE después de la eliminación de un registro o al insertar un nuevo registro?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Reordenador autoincrement

Publicado por ikod (1 intervención) el 28/07/2015 22:42:24
Reordenar ids

SET @num := 0;
UPDATE nombretable SET campoid = @num := (@num+1);
ALTER TABLE nombretabla AUTO_INCREMENT = 1;


esto directamente en phpmyadmin o con algun query desde php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Reordenador autoincrement

Publicado por jose juan (1 intervención) el 04/08/2016 23:56:17
Excelente aporte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar