Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/05/2014, 01:16
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Número consecutivo

No es necesario

Supongamos que tu tabla tiene un id autonumerico, que como habras visto no siempre es consecutivo, y otro campo con un nombre. Si queremos un numerador consecutivo segun el orden de inserción de los registros hacemos

Código MySQL:
Ver original
  1. SET @a = 0;
  2. SELECT  id,nombre, @a:=@a+1 orden
  3. FROM TuTabla

si que remos el numerador consecutivo segun el orden alfabetico de los nombres

Código MySQL:
Ver original
  1. SET @a = 0;
  2. SELECT  id,nombre, @a:=@a+1 orden
  3. FROM TuTabla
  4. ORDER BY nombre;

Si no importa el orden de los registros

Código MySQL:
Ver original
  1. SET @a = 0;
  2. SELECT  id,nombre, @a:=@a+1 orden
  3. FROM TuTabla;

Ojo que no siempre saldran en el mismo orden.


Ese numerador lo puedes mostrar siempre que quieras aun que no este guardado en la tabla.

La ventaja de hacerlo así es que cuando elimines algun registro no tendras que recalcular nada, puesto que no hay nada.

No cometas el error de confundir ese numerador con el identificador del registro, este debe ser fijo, inmutable, por lo que dejaria de ser consecutivo en el momento que elimines algun registro.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 16/05/2014 a las 01:21