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

Campo de base de datos autoincrementar

Estas en el tema de Campo de base de datos autoincrementar en el foro de Mysql en Foros del Web. Hola, soy bastante novato y tengo un problema que no se como resolver. Tengo una base de datos muy sencillita con solo una tabla. En ...
  #1 (permalink)  
Antiguo 07/07/2011, 09:49
 
Fecha de Ingreso: abril-2010
Mensajes: 5
Antigüedad: 14 años
Puntos: 0
Campo de base de datos autoincrementar

Hola,
soy bastante novato y tengo un problema que no se como resolver. Tengo una base de datos muy sencillita con solo una tabla. En esta tabla uno de los campos es un INT que quiero que me sirva para saber el orden de inserción:

INDICE OTROS CAMPOS
===== ==========
1 loquesea1
2 loquesea2
3 loquesea3

estoy usando PHPMyAdmin para crear las tablas, y cuando definí el campo indice, usé la opción "auto_increment" la cual hace que cuando inserto una fila y dejo vacio el valor de indice, este se asigna automáticamente con el valor correspondiente. El problema que tengo es que si en un momento dado, decido eliminar la fila 2, lo que querría es que la fila que tiene indice=3 pase a indice=2.
De igual manera, si despues de eliminar la fila 3, añado otra, quiero que indice=3 no indice=4.

¿Cómo puedo hacer eso?

Espero haberme explicado bien. Si necesitais más datos decidmelo.


Muchas gracias a todos!
  #2 (permalink)  
Antiguo 07/07/2011, 09:53
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: Campo de base de datos autoincrementar

Lee ESTE tema que te puede ayudar con tu inquietud
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #3 (permalink)  
Antiguo 07/07/2011, 09:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Campo de base de datos autoincrementar

Es posible, pero no es necesario.

Es más, se considera una pésima practica.

Veamos el siguiente escenario:

Ya tienes 100 paginas de tu sitio indexadas con Google, cada una con su respectivo y único ID.

Entonces, borras un registro y se te ocurre reordenar los ID's, ¿imaginas lo que pasaría?

Edito: excelente tema, gracias jotaincubus
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 07/07/2011, 11:13
 
Fecha de Ingreso: abril-2010
Mensajes: 5
Antigüedad: 14 años
Puntos: 0
Respuesta: Campo de base de datos autoincrementar

Muchas gracias por las respuesta :) !

no estoy seguro de que me hayais entendido al 100%. El campo indice no lo quiero usar como un ID. Simplemente quiero asignarle un orden a las filas para establecer una secuencia. Por ejemplo:

INDICE OTROS CAMPOS
===== ==========
1 peras
2 manzanas
3 platanos

Imaginemos que primero quiero obtener de forma secuencial las 3 filas, y el orden que quiero que sigan es peras-manzanas-platanos. Tal y como lo tengo, perfecto. pero a lo mejor luego quiero cambiar el orden a manzanas-peras-platanos, y no quiero estar preocupandome del orden mientras programo el php. Entonces lo que quiero es dejar la tabla así:

INDICE OTROS CAMPOS
===== ==========
2 peras
1 manzanas
3 platanos

Seguro que formas mejores de hacerlo,¿verdad?

Un Saludo y Mil gracias!
  #5 (permalink)  
Antiguo 07/07/2011, 12:25
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: Campo de base de datos autoincrementar

Mira este post en las faq´s de mysql.

En pocas palabras, es la creación de un campo virtual para el ordenamiento de cualquier consulta.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Etiquetas: php
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 17:42.